Resultados 1 al 4 de 4

[JAVA] Juego de las DAMAS

  1. #1 [JAVA] Juego de las DAMAS 
    Iniciado
    Fecha de ingreso
    Nov 2007
    Mensajes
    33
    Descargas
    0
    Uploads
    0
    Hola buenas, pues eso tengo que hacer un jueguecillo básico como las damas para dentro de un par de semanas y si alguien puede echarme una mano (en general), si dispone de material y me puede ayudar.

    Saludos!
    Citar  
     

  2. #2  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Buenas! ¿Tienes que hacer un juego como las damas?, es decir ¿un juego sencillo de mesa? o ¿tienes que hacer el juego de las damas?

    Sea cual sea la respuesta, para resolver este tipo de problemas lo primero es definir cómo lo vas a realizar, saber qué tipo de estructuras de datos necesitas, según el enfoque que le hayas dado, y ya simplemente modularizas el proyecto... (resuelves un problema gordo, dividiéndolo en subproblemas más pequeños). Para empezar define una estructura de interfaces y clases, crea un diagrama UML.

    Así por ejemplo para el juego de las damas pues podrías definir una clase "ficha" con atributos como: "color" (blancas o negras), "posicion_x", "posicion_y", para definir la posicion de la ficha en el tablero. Define otra clase "tablero", cuyo atributo es del tipo array [8][8] de fichas. Posteriormente puedes crear una clase abstracta con un algoritmo principal, por ejemplo para implementar movimientos automáticos (para jugar contra la máquina), y así en tu clase principal que hereda de la clase abstracta implementas cada uno de los métodos del algoritmo.

    Por poner un ejemplo de algoritmo puedes hacer un backtracking:

    Para cada una de las piezas del tablero del turno del jugador actual hacer:
    si sePuedeMover(ficha[i], x, y) entonces: //es una posible solucion al problema
    x[i]:=evaluarPosicionMovida(ficha[i], x, y); //guardamos un entero en un vector que evalue (haga un balance) entre por ejemplo las piezas que podemos perder al mover las fichas y las que comemos.
    fin bucle
    obtenerMinimoVector(x);
    //la ficha correspondiente al índice del menor elemento del vector será la ficha candidata a mover en esta jugada.

    Evidentemente ésto tiene algunas lagunas , todo depende de cómo quieras enfocarlo, básicamente era para darte una idea de un backtracking como ejemplo de algoritmo. El backtracking siempre encuentra una solución a un problema, si la tiene, y se puede retocar el algoritmo para que de todas las soluciones posibles (todos los movimientos posibles), encuentre el más óptimo.

    Puedes emplear también un algoritmo voraz, siguiendo por ejemplo la heurística de mover aquella ficha que más fichas "coma" (heurística enfocada a atacar), o bien mover aquella ficha que menos piezas te hace perder (heurística enfocada a defender).

    Espero haberte ayudado o haberte dado algunas ideas.

    Un saludo
    Última edición por hystd; 19-01-2008 a las 01:43
    Citar  
     

  3. #3  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Por cierto se me olvidó añadir que el ejemplo de posible solución que he dado recibe el nombre de "patrón plantilla", crear las clases específicas para el problema, y una clase abstracta que implementa el algoritmo principal de resolución (backtracking, voraz, etc...) y la clase principal en dónde estamos resolviendo el problema, que hereda de esta clase abstracta implementamos cada uno de los métodos del algoritmo de la clase abstracta.

    Un saludo
    Citar  
     

  4. #4  
    Iniciado
    Fecha de ingreso
    Nov 2007
    Mensajes
    33
    Descargas
    0
    Uploads
    0
    Gracias hystd, me has sido de gran ayuda, ya te contaré que tal me ha ido

    Saludos!
    Citar  
     

Temas similares

  1. Juego Capitalismo
    Por snipery2kbug en el foro JUEGOS
    Respuestas: 2
    Último mensaje: 24-12-2004, 19:43
  2. Juego de tanques
    Por snipery2kbug en el foro JUEGOS
    Respuestas: 3
    Último mensaje: 07-11-2004, 03:18
  3. juego en C/C++
    Por Eleven en el foro PROGRAMACION DESKTOP
    Respuestas: 7
    Último mensaje: 24-07-2003, 20:55
  4. una especie de juego de rol...
    Por spushan en el foro OFF-TOPIC
    Respuestas: 6
    Último mensaje: 24-03-2003, 21:22
  5. El juego dl helicoptero
    Por Angelote en el foro JUEGOS
    Respuestas: 23
    Último mensaje: 17-11-2002, 15:01

Marcadores

Marcadores