Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 3
Ir a la página 1, 2, 3  Siguiente
 
Damas Inglesas O Checkers
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Damas Inglesas O Checkers 
 
Os traigo mi ultimo programa, que es un juego de damas inglesas.

Esta basado en el programa que hizo  por Ken Goldberg  en SmallBasic, donde usa el algoritmo minimax para elegir la mejor jugada (tiene varios niveles de dificultad). En mi version, tambien se pueden crear posiciones para jugar, ademas de guardar y abrir partidas.

He hecho un pequeño video para que veais como se maneja.


Link


Enlace: http://jsbsan.blogspot.com.es/2012/...bas3-damas.html

Espero que os guste...

Saludos
 




===================
Web: SoloGambas
Visita el Curso de Gambas3
Invitacion a Beruby de Jsbsan
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
Fantástico juego, Julio. Supongo que habrás aprendido mucho portando el algoritmo minimax a gambas y usando las clases y métodos para dibujar. Buen trabajo, sin embargo tengo una petición de mejora    ¿Puedes introducir un retardo en los movimientos que hace la máquina para que a los humanos nos de tiempo a verlos? Si por ejemplo juega máquina contra máquina, la partida acabaría en 1 segundo y no veríamos los movimientos que hace cada parte...

Saludos y enhorabuena por tu trabajo!
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
jguardon:
Citar:
Supongo que habrás aprendido mucho portando el algoritmo minimax a gambas y usando las clases y métodos para dibujar.


Pues si,  aunque parte del trabajo estaba hecho (gracias al código  Ken Goldberg Enlace), el adaptarlo a gambas me ha costado, sobre todo porque SmallBasic maneja listas, y eso en gambas lo he tenido que hacer con clases y arrays de clases.

Tambien estoy trabajando en una version que usa el algoritmo "poda alfa beta", que en menos tiempo de cálculo consigue la misma jugada "buena" que con el algoritmo minimax, por lo hq he leido es hasta un 30% más rápido.


Citar:
¿Puedes introducir un retardo en los movimientos que hace la máquina para que a los humanos nos de tiempo a verlos? Si por ejemplo juega máquina contra máquina, la partida acabaría en 1 segundo y no veríamos los movimientos que hace cada parte...


Claro, me pongo en ello...(aunque en mi ordenador no va tan rápido la partida entre maquina contra máquina    )

Nota:
Este es el primer proyecto que he usado usado subversion en code google (svn checkout http://damasinglesas.googlecode.com/svn/trunk/ damasinglesas-read-only), lo que no se  como los usuarios pueden comentar o dejar bugs en code google... a ver si puedes comentarlo.
 




===================
Web: SoloGambas
Visita el Curso de Gambas3
Invitacion a Beruby de Jsbsan
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
Desgraciadamente google code no soporta la sintaxis de las clases de gambas, por lo que no podemos ver código resaltado ni comentar código. En eso Assembla, funciona un poco mejor, aunque tampoco reconoce la extensión .class como código gambas o basic. Git y github no sé si lo hacen, pero tienen unas características que lo hacen único, muy usado actualmente por grandes proyectos, lo que ocurre es que gambas no incluye control de versiones git. Siempre he pensado que sería imprescindible que lo incluyera, pero hasta ahora nadie ha dado el paso. ¿Alguien se atreve conmigo a formar un grupo de trabajo?

Volviendo al tema de tu repositorio, he dejado el primer bug registrado para que veas cómo funciona. Ahora tu deberías clasificarlo en la categoría correspondiente, si es una mejora, un fallo o una petición, si está en curso, si es válido, la prioridad o si ya está solucionado. Para reportar un bug sólo hay que estar registrado con una cuenta de google y en la pestaña "Issues" es donde podemos reportar un bug.

El enlace que has proporcionado da acceso al árbol svn directamente, pero desde la página del proyecto https://code.google.com/p/damasinglesas/ podemos acceder a las fuentes desde la pestaña "Source", generalmente en el directorio trunk. Como dije antes, los ficheros de clase .class google no permite visualizarlos porque cree que son archivos binarios java, para poder ver su contenido hay que ir al enlace de la derecha que pone "View raw file" y saldrá el código en crudo, sin resaltado y en página aparte.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
Una pregunta.

El juego de las damas.Cuando corona y se convierte en reina o dama.(Ando perdido).
Las piezas pequeñas mueven hacia adelante,ok y la dama que corona  puede mover hacia adelante o
atrás.Luego tienen la obligación de comer ya sea una pieza o la otra.

Ahora bien.Pregunto.Hace muchos años yo jugaba a este juego con mi difunto tío
y al ajedrez.(que trifulcas!). Pero no se si esta regla era correcta, os explico.

Al coronar. la dama cuando jugaba con el, la desplazaba de un punto a otro punto, mientras
estuviera en la diagonal adecuada.No la desplazaba solo un movimiento atrás o adelante,
sino a cualquier punto de la diagonal.

Supongo que del juego de las damas, habría variaciones como en el ajedrez.
Siempre he visto que en juegos de ordenador, la dama coronada solo se puede desplazar
un movimiento atrás o adelante y mas si es comiendo.

Una de las variaciones de las damas es el juego de los "gatos y el ratón".
Supongo que muchos lo conoceréis.

Julio, gracias por el juego.

¿ Listas ?. ¿ Arrays ?. Pero esto es muy normal en cualquier lenguaje.  
Pues tendré que ver las dos versiones.

Saludos.
 




===================
Gambas Básico
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
Shell
Citar:
El juego de las damas.Cuando corona y se convierte en reina o dama.(Ando perdido).

Si se convierte en Dama, (aunque no se si lo preguntas por el nombre mas correcto, la reina o la dama). En el ajedrez para diferenciar el Rey de la Reina, siempre se le dice Dama.

Citar:

Al coronar. la dama cuando jugaba con el, la desplazaba de un punto a otro punto, mientras
estuviera en la diagonal adecuada.No la desplazaba solo un movimiento atrás o adelante,
sino a cualquier punto de la diagonal. Supongo que del juego de las damas, habría variaciones como en el ajedrez


Hay muchos tipos de Damas (mirate la  wikipedia ) y las reglas varian, mi programa juega a las damas inglesas, pero tambien hay: Damas españolas, Damas internacionales, Damas rusas,Damas turcas, etc).

Citar:
...a cualquier punto de la diagonal.

Esa es la version de damas españolas.

Citar:
¿ Listas ?. ¿ Arrays ?. Pero esto es muy normal en cualquier lenguaje.
Pues tendré que ver las dos versiones.


Es en la forma de manejarla:
Por ejemplo:
En smallbasic:
For dx in [-1, 1]


For Move in MoveList2
MoveList3 << Move
Next Move
MoveListArray << MoveList3[


La expresion "similar" en gambas seria..
For each move in movelist2
movelist3.add(move)
Next
MoveListArray.add(Movelist3)
 


Ademas en SmallBasic, no hace falta definir los tipos de variable... con lo cual hay que estudiar el "tipo" y crear la correspondiente clase para pasarlo a gambas3. (supongo que en gambas2, no se podria hacer este programa o seria bastante más lioso)   .

Saludos
 




===================
Web: SoloGambas
Visita el Curso de Gambas3
Invitacion a Beruby de Jsbsan
 
última edición por jsbsan el Sabado, 27 Octobre 2012, 14:25; editado 3 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
jguardon:

Citar:
Ahora tu deberías clasificarlo en la categoría correspondiente, si es una mejora, un fallo o una petición, si está en curso, si es válido, la prioridad o si ya está solucionado.

Ya he subido la mejora (un pequeño retardo, hace un sonido al mover la pieza, y muestra por donde ha pasado la ficha (pero no esta animado...    ),
Ahora lo que no se es como se hace lo de "clasificarlo" en google code...     ¿algun pantallazo o video tutorial nos podias poner?
 




===================
Web: SoloGambas
Visita el Curso de Gambas3
Invitacion a Beruby de Jsbsan
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
jsbsan escribió: [Ver mensaje]

Ahora lo que no se es como se hace lo de "clasificarlo" en google code...     ¿algun pantallazo o video tutorial nos podias poner?


Bien. Aunque es un poco offtopic lo voy a explicar muy rápidamente:
 
Es muy fácil. Cuando vas a responder a un bug, abajo se abren unos campos a rellenar que al ponerse sobre ellos algunos muestran una lista de posibilidades a elegir, como un combobox.

Es importante el campo "Status" que se refiere al estado actual del bug, es decir, al momento en que se encuentra dentro de su ciclo de vida. Este es un ciclo o de vida de un bug típico:

 bzlifecycle

De manera que en el interface de google code sería algo como esto, para determinar el momento actual o el cambio de status:

 gcode2


Y otras variables, como si es una mejora, un defecto y la prioridad que recibe en cuanto al tratamiento que se le va a dar en el tiempo:

 gcode1

Para los nuevos bugs, como para los que se ha empezado a trabajar en ellos, o para clasificarlos, reabrirlos, cerrarlos, invalidarlos, etc. es una buena  práctica mantener actualizado su estado, porque sirve tanto al desarrollador como al usuario (u otros desarrolladores) para estar informados al momento.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
jsbsan escribió: [Ver mensaje]


Citar:
Refactoring: Improving the Design of Existing Code

¿Sabes si hay una traduccion en castellano?
He mirado en internet, y aparece en un post de un blog, un resumen del libro ( Enlace ), y la verdad que parece muy interesante.

Saludos


He mirado el libro entre líneas y está sólo en inglés. Además, aunque no debería suponer ningún problema, todos los ejemplos se basan en el lenguaje Java.

Estoy seguro que debe existir algo similar en español, pero aprovecho para recordar que en el mundo de la informática e Internet el que no sabe inglés está "fuera de mercado", o como decimos aquí, "más perdido que un burro en un garaje".

Esto aquí en España se lo debemos a las nefastas leyes en educación, que cada gobierno manipula a su favor, pero claro, ¿qué podemos esperar de una serie de presidentes de estado que ninguno sabe hablar inglés? Lamentable...

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Damas Inglesas O Checkers 
 
Jguardon:

La explicacion sobre los estados de bugs, ¿la podias copiar a tu videotutorial sobre subversion svn?, seguramente en el que use svn en code google, le vendra muy bien la informacion...

Gracias..

Nota:
He traducido algunas cosas del diagrama, pero palabra como WONFIX, WORDFORMED, no se que quieren decir (el google traduce no da para tanto..     ) te adjunto enlace por si lo puedes completar (esta en gimp .xcf, Enlace )
 




===================
Web: SoloGambas
Visita el Curso de Gambas3
Invitacion a Beruby de Jsbsan
 
última edición por jsbsan el Domingo, 28 Octobre 2012, 14:30; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 

Publicar nuevo tema  Responder al tema  Página 1 de 3
Ir a la página 1, 2, 3  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario