Autor Tema: Proyecto 1 "Tablero Dijital de ajedrez"  (Leído 11229 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #15 en: 19 de Agosto de 2011, 15:04:30 »
.


Una forma alternativa a esta sería usar sensores reflectivos (led IR-fotodiodo)  por debajo del tablero transparente. El costo total sería más o menos el mismo, pero sería un tablero más compacto, más sencillo de implementar y cuyo funcionamiento no dependería de las condiciones de la luz ambiente. Por mi parte, sigo prefiriendo un tablero de madera :)
Me interesa saber cómo hizo para comunicar el tablero con la computadora para jugar por internet. Esa es una de las trabas principales que tengo con mi proyecto.

Saludos.

« Última modificación: 20 de Agosto de 2011, 14:17:03 por mtristan »
When you see a good move, look for a better one (Emanuel Lasker)

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #16 en: 20 de Agosto de 2011, 17:08:37 »
.


Creo que encontré una solución al problema de la comunicación con la pc. Al parecer existe (hace 17 años :D) una especie de "protocolo" de comunicación para enlazar 2 computadoras que corren sendos motores de ajedrez y así permitir que compitan entre sí (según parece, aún se usa en los campeonatos de ajedrez computacional). Se llama Auto232, y ya existen plugins para winboard y xboard (entre otros, pero estos son mis preferidos) que permiten comunicar las movidas de una pc a otra a trevés del puerto serial. Acá dejo una página con una introducción: http://www.horizonchess.com/FAQ/Winboard/auto232player.html
Sigo investigando y cualquier cosa, la hago saber.

Saludos.

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #17 en: 22 de Agosto de 2011, 22:23:37 »
.


He logrado algún avance. Después de toda una tarde, logré comunicar winboard a través del puerto serie :-). Primero, bajé el programa winboard232 (link de descarga en algún lugar de esta pagina: http://www.geenvis.net/autoplayer/autoplayer.html), descomprimí y guardé una copia del ejecutable Winboard232c.exe en la misma carpeta donde tengo el Winboard. Con ayuda de este artículo: http://wbec-ridderkerk.nl/html/downloada/autoplayer/boerger_eng.htm encontré la forma de usar el programa como un motor de ajedrez, poniendo en el acceso directo que tengo de Winboard en el escritorio la siguiente línea:
"C:\Archivos de programa\WinBoard-4.2.7\winboard.exe" -cp -fcp "Winboard232c.exe -com 2" -fd "C:\Archivos de programa\WinBoard-4.2.7"
-cp significa "Computer Play" o algo así
Lo que va después de -fcp es el nombre del "motor de ajedrez", y com 2 indica que debe usarse el puerto COM 2.
Lo que va después de -fd es la ruta de la carpeta en donde se encuentra el motor.

Como tengo un solo puerto serie, me bajé el Virtual Serial Port Driver (fácil de encontrar en google) y cree un par de puertos virtuales, COM 2 y COM 3. Luego de algunos ajustes, y con la ayuda de un terminal de puerto serie conectado a COM 3, llegué a esto:



Uploaded with ImageShack.us

Me costó bastante encontrar información sobre el olvidado protocolo Auto232, y lo poco que conseguí está en alemán :tongue:. Adjunto un archivo de texto con esta información, y su traducción al inglés (al español era realmente indescifrable). Espero que a alguien le sirva.

Saludos.


When you see a good move, look for a better one (Emanuel Lasker)

Desconectado Delphus

  • PIC12
  • **
  • Mensajes: 70
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #18 en: 05 de Octubre de 2011, 12:10:23 »
Se pueden usar los módulos UCI de los cuales hay muchos que son libres y muy fuertes, por ejemplo Houddini, y la comunicación con el modulo  UCI es sencilla y está bien documentada.

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #19 en: 05 de Octubre de 2011, 16:37:19 »
.


¿Qué es un módulo UCI? :? Si mal no entiendo, Houdini es un motor de ajedrez, que usa el protocolo UCI para comunicarse con programas de interfaz gráfica..

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado Delphus

  • PIC12
  • **
  • Mensajes: 70
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #20 en: 06 de Octubre de 2011, 21:33:19 »
Como ya lo has dicho, los UCI se utilizan para que sean portables entre distintas interaces gráficas,  por lo que es el tipo perfecto de motor para que nos de los datos de los movimientos que va haciendo, ademas de que la mayoría son de código abierto.

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Proyecto 1 "Tablero Dijital de ajedrez"
« Respuesta #21 en: 07 de Octubre de 2011, 16:36:46 »
.


El winboard232, para la interfaz Winboard, es un motor de ajedez más, solo que en vez de calcular las jugadas las retransmite a través del puerto serie. Es básicamente una interfaz entre el Winboard y el puerto serie, que es justamente lo que necesito.

Saludos.

When you see a good move, look for a better one (Emanuel Lasker)


 

anything