• Viernes 8 de Noviembre de 2024, 14:49

Autor Tema:  Memorama en Java  (Leído 7635 veces)

laura.izquierdo

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Memorama en Java
« en: Viernes 25 de Diciembre de 2009, 23:05 »
0
Hola¡
Querría saber si alguno de ustedes tendría el juego del memorama hecho en algoritmo, en pseudocódigo. El memorama que en mi universidad me han pedido hacer es uno en el que la matriz del tablero sea 6 x 6 (si lo tienen con otras dimensiones me servirá igual  :)  ) No tengo que poner imágenes en cada casilla, simplemente números o caracteres. Las parejas acertadas quedarán al descubierto.

Si no tienen el pseudocódigo.. también me sería de gran ayuda el memorama en lenguaje java..

Espero puedan ayudarme

Gracias avanzadas  ^_^

Thanatos-chan

  • Miembro MUY activo
  • ***
  • Mensajes: 136
  • Nacionalidad: do
    • Ver Perfil
Re: Memorama en Java
« Respuesta #1 en: Lunes 28 de Diciembre de 2009, 21:28 »
0
que tal laura,

respecto al algoritmo.

si es 6 x 6 = 36 posiciones lo que hace 18 parejas
el meotdo de eleccion de las parejas es variado, pudieras tener una matriz para asignar las 18 variables
necesitaras una matriz de dos dimensiones,  donde ubicar las 18 variables, esta matriz seria 6 x 6 y seria tu panel
para la colocacion  existen varios metodos

se podria usar un random...pero estan los problemas de:

no sobreescribir una posicion ya llenada.
que se asigne solo una pareja por variable
que el random llene las 36 posiciones en un tiempo decente,esto es, porque si haces un random con un maximo de 36 posibilidades, que salgan las posibilidades del 1-36, no va a pasar en 1 minuto, porque es posible que el random saque una y otra vez el mismo numero.

asi que podrias usar un array con las posiciones del 1 al 36 y hacerle un shuffle para que queden aleatorias asi algo como

  1 2 3 4 5 6 7  8 9 10 se pondria como
10 7 5 1 4 9 2  8 3  6
 
desde ese punto recorrer el array del panel y tomar de 2 en 2 los numeros del array  para ubicarlas

espero te sirva de ayuda
Que es un genio???? yo superare a un genio con trabajo duro, y eso es todo.