Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Parchís

Iniciado por vincent, 26 de Febrero de 2007, 12:19:07 PM

« anterior - próximo »

vincent

Muy buenas,

para iniciarme un poco con el XNA de Microsoft, estoy pensando en hacer un parchís con un colega.

Mi duda surge a la hora de implementar el tablero. Que seria mejor, un solo sprite y hacer cálculos para determinar en qué casilla estoy o hacer un sprite por casilla y currarme un "mapa" con todas las coordenadas de los sprites?

Gracias!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

Lex


er_willy

sepi, voto por el sprite unico para dominarlos a todos.

Harko

Si quieres, aparte de usar el sprite de fondo, puedes utilizar un mapa de texturas para ir señalandote cada casilla a la que tienes que mover cada ficha.

O guardarte las coordenadas de cada casilla e ir colocando ahi las fichas, solo necesitarias saber el numero de la ficha y el de la casilla a la que va.

Seguro que hay mas formas de hacerlo, por ahora se me han ocurrido esas.

Harko.
-=Harko´s Blog=-
Fui el primer civil en probar el "Lord of Creatures" y ademas usaban mis cascos. :D

-=Portfolio=-

Alguno de mis juegos:
-=Feed The Frog=-

Neroncity

vincent

Vale, pues provaré lo de un solo sprite e ir calculando la casilla a pelo.

Ya os iremos contando!

Por cierto, que por lo poquito que he provado, esto del XNA está muy bien.

Un saludo
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

1cacalvo

Que casualidad, yo tb estaba pensando en hacerme un Parchis pero con Ogre y C++..

Ya que con mis amigo solemos jugar por las tardes un par de partiditas, pero jugandonos los eurillos...  :D

Yoshis

Si si definitivamente un solo sprite y almacenando las coordenadas de las casillas a pelo :P El parchís puede parecer fácil a primera vista pero no lo es tanto... no como un ajedrez... pero supongo q tiene mucha regla y eso obliga a poner unos cuantos ifs q hasta q no llega el momento no te planteas poner. Un colega mio estuvo con ello y la cosa se alargo mas de lo q pensabamos. Tienes pensado complicarte en plan.. meterle opción de 2 dados.. o hacerlo en red?

vincent

Bueno, en principio lo hago para aprender XNA, así que de momento será con un solo dado y sin opción de red. Si implemento algo de esto supongo que seria el tema de la red.
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

1cacalvo

Un apuntillo, como tienes implementadas las casillas del parchis?, me explico:

Cuando sumas una tirada a una ficha en concreto como controlas que no se pase del rango, es decir si estas en la casilla 66 y saquas un 4 te vas a la casilla 2 (no a la 70:S)

Tienes un tipo de estructura o lo controlas directamente con un if tipo

if ((ficha.casilla + tirada) > 68){
  ficha.casilla = ficha.casilla - 68;
}

Helius

Cita de: "1cacalvo"
if ((ficha.casilla + tirada) > 68){
  ficha.casilla = ficha.casilla - 68;
}

ficha.casilla = (ficha.casilla + tirada) % 68;

Mejor ¿no? Aunque se puede hacer de mil maneras...

Yo también apostaría por un sólo sprite y mapearte de alguna manera lógica los movimientos en el tablero.

Saludos.
Geardome Devlog
Tutoriales sobre DirectX 9, Nintendo DS y PSP.

1cacalvo

Mas que a la forma de mapear las fichas en el tablero, me referia a una estructura para guardar almacenar las casillas (aparte del apartado grafico), por ejemplo para saber que casillas estan ocupadas, para programar una futura IA (comidas y todo esto), donde hay barreras...

Ahora mismo (esta en un estado mu mu inicial) cada ficha sabe en que casilla esta, pero la clase game tendria ke recorrer a todos los jugadores, y a todas las fichas de esto para saber si hay alguien ya en esa casilla...

No se si me he explicado bien :s

tamat

Tener una clase Escena siempre es muy util, una clase que lo sepa TODO sobre el estado de la partida, que le puedas preguntar cosas como - fichas rojas en el tablero - o - quien está en la posicion 10 -, etc.

Agiliza mucho luego programar la logica de la partida.
Por un stratos menos tenso

1cacalvo

Bueno yo tengo una clase Game que haria las funciones de Scene...

Y como estructura para representar todas las casillas del parchis he elegido algo como esto...


struct Casilla
   {
     Casilla (int numCas, int idFich1, int idCol1, int idFich2, int idCol2) :
       numCasilla(numCas), idFicha1(idFich1), idColor1(idCol1), idFicha2(idFich2), idColor2(idCol2) {}

     Casilla() : numCasilla(-1), idFicha1(-1), idColor1(-1), idFicha2(-1), idColor2(-1){}
     

     int numCasilla;
     bool seguro;
     int idFicha1;
     int idColor1;
     int idFicha2;
     int idColor2;
     
   };

std::vector<Casilla> casillas(68);


A la Struc le implementare alguna función para agilizar cosas como barreras, y comidas o lo que se me vaya ocurriendo...

Otra pregunta como se puede llegar a la conclusión de saber si es mas optima declarar Casilla como Struct o como Class???

Hay alguna estructura ke sea mas optima para este caso???