[Ayuda con proyecto]

Iniciado por jet1994, 18 Noviembre 2012, 02:06 AM

0 Miembros y 1 Visitante están viendo este tema.

jet1994

Saludos a los exelentes programadores de esta magnfica pagina
Bueno, en esta ocasion necesito ayuda en un proyecto que me enviaron en la universdad :
Se trata de programar un juego llamado SENET
aqui les dejo el link para que puedan jugarlo

http://www.tarot-egipcio.com/Art_senet_online.htm

les pido ayuda por que mi profesor no nos dijo con que ni como programarlo
tampoco les estoy pidiendo que me hagan el proyecto para presentarlo como mio
si no les pido por favor que me asesoren y mi ayuden para poder realizarlo
claro si tienen un poco de tiempo para ayudarme

a los que les interesa ayudarme les estare eternamente agradecido

empezamos:

como ven este es un juego de mesa con 30 casillas
3 filas
10 columnas           3x10
con 10 "fichas" sobre la misma
5 de un jugador y 5 de otro colocadas por defecto alternadamente
el objetivo es sacar todas las 5 fichas tuyas antes que tu oponente
condiciones:
la casilla 27 tiene una condicion: si caes ahi regresaras a la casilla 15
la casilla 26 y 28 son seguras osea tu oponente no puede intercambiar casilla contigosi estas en esa posicion
la 29 te da un turno extra  


lo primero sera sera hacer el tablero de forma de que se puedan mover las fichas segun el numero de movimientos que hayamos sacado aleatoriamente

mi primera duda es como haria el tablero con las fichas :
con una matriz 3x10 tipo int  
o harian todo el juego con coordenadas  



bemone

#1
fijate que es muy facil, si estan en fila par mueven para la derecha, si estan en fila impar, a la izquierda. O tranquilamente podes hacer un vector de 30.
Vos tenes 2 tipos de fichas la cual vas a llenar la matriz con dos valores.
Tiras un random del 1 al 5, y vas desplanzandote, si caes una casilla del jugador oponente cambias el valor de la matriz por el opuesto y asi.
No son mas que condiciones e ir avanzando.
La matriz la llenas con 0s donde este vacio, con 1s el jugador rojo y con 2s el jugador azul. En la casilla 15 la llenas con 3, en las que no podes cambiar con 4s y en la que si caes te vas a la 15 con 5 y asi tenes todo el tablero identificado.
Odio los tipos de variable de Windows.

jet1994

#2
para hacer el tablero declare un arreglo tamaño 30

mi intencion es presentarlo mas o menos asi:

  1 2 1 2 1 2 1 2 1 2 1
  0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0    los 0 son espacios en blanco

ya lo pude hacer con este codigo pruebenlo si quieren

#include<stdio.h>
#include<conio.h>
#include<dos.h>
int i,x,y;
int a[30]={1,2,1,2,1,2,1,2,1,2,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0};
void arre();

int main(){
clrscr();
arre();
getch();
return (0);
}
void arre()
{
clrscr();
x=20;
y=15;
for(i=0;i<30;i++)
{
if (i==10){
x=20;
y=y+2;}
if (i==20){
x=20;
y=y+2;}
gotoxy(x,y);
if(a[i]!=0){
printf("%d",a[i]);}
x=x+5;
delay(100);
}
}



Ahora el siguiente paso seria hacer que una ficha avance segun un numero aleatorio del 1 al 6

Alguna idea?

Ferno

Si bien no podés tener aleatoriedad total en una computadora por ser determinística, podés simular esos números random con pseudo-aleatoriedad.

Para eso, te recomiendo leer sobre srand() y rand().