Juego de Dama

¿Cómo encuentras el trabajo hasta ahora? Probemos a ver lo que hemos aprendido hasta ahora. Intentemos hacer un Juego de Damas en nuestro App inventor.

Las damas es un juego de mesa para dos contrincantes. El juego consiste en mover las piezas en diagonal a través de los cuadros negros o blancos de un tablero de 64 ó 100 cuadros con la intención de capturar (comer) las piezas del jugador contrario pasando por encima de dichas piezas. 

Existen varias modalidades, con distintos tableros y número de piezas. La versión internacional, también llamada «damas polacas», está reglada por la FédérationMondiale du Jeu de Dames (FMJD) y se juega en un tablero de 10×10 cuadros con dos jugadores con 20 piezas cada uno. 

El 20 de julio de 2007, en un artículo publicado en la revista Science,​ se encontró la resolución matemática para el juego de damas, siendo su resultado el de tablas. Es decir, si ambos contrincantes juegan siempre la partida perfecta en base al análisis completo y perfecto, las tablas están garantizadas. Chinook es el nombre del software creado por Jonathan Schaeffer, el primer programa que primero jugó a las damas a nivel de torneo, llegando a ganar al campeón del mundo de la época, Don Lafferty, que finalmente resolvió el desarrollo de la partida hacia el empate ineludiblemente. 

Para nuestro juego usaremos un tablero de ajedrez de 8x8 celdas con 8 fichas rojas y 8 fichas azules.

Diseño y Construcción de tablero y fichas 

Primeramente hay que crear la tabla en Paint. En Archivo/propiedades de Paint, modificar los atributos de ancho y alto por 320x320 pixel. Cada cuadro negro o blanco debe ser de 40x40 pixeles.
Construir una ficha roja y otra azul de 40x40 pixeles.
Utilizando el lienzo y SpriteImagen de app-inventor,  diseñar el tablero con sus fichas. En propiedades de Lienzo1 cambiar el ancho y alto por 320x320 pixel y poner como imagen de fondo el tablero. Análogamente para cada fiche cambiar el ancho y alto por 40x40 pixel 
Cambiar el nombre de cada SpriteImagen1 , SpriteImagen2,… por fichaRoja1, fichaRoja2,…. Respectivamente. (en mi caso solo puse roja o azul)
Programación de bloques 

Una vez creado el diseño comenzamos a programar nuestra aplicación.
Los elementos del juego los almacenaremos en dos listas; lista para las fichas rojas y otra para las azules. 
Crear dos listas vacías para cada tipo de ficha:

Cuando se inicializa el juego se deben crear las listas con sus elementos.

El manejo de eventos para el juego: 
· Presionar una ficha seleccionada para arrastrarla en forma diagonal a la siguiente posición. 
  Cada vez que se presione una ficha las demás deben permanecer deshabilitadas para moverse.



Algoritmo 
Cuando fichaazul es presionada 
      Para cada elemento de la lista de fichas azul HACER 
            Poner cualquierSpriteImagen del elemento de la lista la habilitación como falso 
      Fin_Para 
Poner la fichaazul su habilitación como cierta. 

Una ficha roja se mueve en forma diagonal de 40 en 40 pixel a la derecha o a la izquierda. Recuerde que el origen del lienzo es el extremo izquierdo superior. 


Algoritmo
Si el valor de X de nueva posición > valor de X de la posición actual entonces actualizar nuevo valor de X por Valor anterior de X +40 
Si no es mayor actualizar nuevo valor de X por Valor anterior de X - 40 
Fin_si 

Cambiar el valor actual de Y por Valor Actual + 40. (Nótese que la ficha roja siempre avanza en 40 pixel en el eje de las Y) 

Como este algoritmo se debe realizar para cada ficha que se mueva , es necesario crear un procedimiento que recibe la posición nueva de la ficha y la ficha.

Una vez que se ha cambiado la posición x e y de la fichaRojaN por los nuevos valores se deben modificar las habilitaciones de cada ficha para poder ser seleccionadas 

Procedimiento para mover ficha:

Cada vez que soltamos la ficha al ser arrastrada a una nueva posición se llama al procedimiento moverFichaRoja. Observe que se envía la nueva posición y el elemento ficha.


Llamada al procedimiento para la ficha a mover
Una vez que este todo hecho, debemos darnos cuenta que lo que acabamos de realizar es para una sola ficha, por lo que hay que duplicar para todo el resto, incluyendo las rojas.
Cuando movemos las fichas el tablero debe verse asi:


Como siempre hacemos, si tuviste dificultades para seguir lo que se planteo, te dejaré un video donde hablan paso a paso el desarrollo de la aplicación-juego de damas.


Además puedes hacer otros juegos como:

No hay comentarios:

Publicar un comentario

MIT APP INVENTOR

¿Qué es? Se trata de una herramienta web de desarrollo para iniciarse en el mundo de la programación. Con él pueden hacerse a...