elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Detectar movimientos de piezas en tablero de ajedrez.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Detectar movimientos de piezas en tablero de ajedrez.  (Leído 8,794 veces)
E2E4

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Detectar movimientos de piezas en tablero de ajedrez.
« en: 25 Mayo 2012, 20:17 pm »

Hola Expertos,

Necesito autodetectar movimientos de piezas en un tablero de ajedrez. Se me ocurre hacer alguna rutina que indicandole las coordenadas del tablero y teniendo un patron de cada pieza para que comparando permita esto. No se como implementarlo os ruego que me deis alguna pista.

Por supuesto que sea en Visual Basic 6.

Seguro que algún experto se le ocurre algo.

Saludos.


En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #1 en: 25 Mayo 2012, 23:07 pm »

Hacer una IA que juegue ajedrez lo veo dificil :S

Tenes algo ya escrito?
Mostralo  :-*


En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
E2E4

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #2 en: 25 Mayo 2012, 23:39 pm »

Me refiero a que si tenemos dos tableros de ajedrez, uno en tu ordenador con tu programa preferido motor Houdini, Fritz o el que sea y otro en cualquier sitio de internet donde se puede jugar online. Si hacemos este programa para que detecte los movimientos de los dos tableros automatizamos todo el proceso moviendo piezas en el tablero de internet y el local. Esto se haria como he preguntado en el anterior post pero no se como detectar mediante patron de imagen que piezas se mueven para despues simular el movimiento en mi tablero local con motor Houdini, Fritz o el que sea.

Alguna idea???
En línea

E2E4

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #3 en: 26 Mayo 2012, 19:28 pm »

Aqui tienes un ejemplo -> http://youtu.be/rSGk4AtRkcw

Creo que lo detecta por patron de imagenes de piezas, pero como???

Alguna pista en Visual Basic?
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.906


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #4 en: 28 Mayo 2012, 17:50 pm »

Quizas este accediendo al texto que muestra las movidas realizadas.

En ese caso seria solo simplemente parsear el moviemiento y calcular la respuesta en base a eso...
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

E2E4

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #5 en: 28 Mayo 2012, 20:51 pm »

El autor del programa me ha dicho que lo hace por deteccion de movimientos de piezas, que no se baja en las jugadas marcadas por la notacion???

No me da mas pistas.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.906


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #6 en: 28 Mayo 2012, 21:13 pm »

Si esta usando comparacion de imagenes, lo que yo haria seria:

- capturar el tablero completo.
- ir parseando la imagen casilla por casilla y detectar las piezas que hay en ellas. Asi podrias armar tu tablero.
- cada vez que se haga un movimiento, repetir los pasos anteriores y asi poder determinar el movimiento y poder responder en base a ello.

Ahora, esto es MUY dependiente del tablero. Si algo cambia en el mismo (tamaño, colores de fichas, etc) vas a tener problemas...

Es lo que se me ocurre ahora :)
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.142


I'Love...!¡.


Ver Perfil WWW
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #7 en: 29 Mayo 2012, 06:32 am »

mmm obten los pixeles de secciones siempre hay un patron de pixeles para detectarlos usa el api GetPixel...

* Spyke1, LeandroA (Creo) y un Servidor estábamos intentando crear un bot para un juego del facebook, me toco la parte lógica (Movimientos y detección de mejores movimientos) a ellos la parte de detección de colores, aquí dejaron ellos dos, un código de prueba, este contiene errores (si no esta bien centralizado).

http://infrangelux.sytes.net/FileX/?dir=/LeandroA

*Descarga la imagen para que veas.... que onda hay esta el codigo fuente.

Dulces Lunas!¡.
« Última modificación: 29 Mayo 2012, 06:36 am por BlackZeroX (Astaroth) » En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
E2E4

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #8 en: 29 Mayo 2012, 20:31 pm »

http://infrangelux.sytes.net/FileX/?dir=/LeandroA
*Descarga la imagen para que veas.... que onda hay esta el codigo fuente.

Le echare un vistazo.

Os agradezco vuestro interes. GRACIAS¡¡¡
« Última modificación: 29 Mayo 2012, 20:35 pm por E2E4 » En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Detectar movimientos de piezas en tablero de ajedrez.
« Respuesta #9 en: 1 Junio 2012, 20:29 pm »

Sí se puede hacer lo que buscas, y sería relativamente sencillo, el problema que tuvimos en el proyecto en el que participé con BlackZeroX y LeandroA fue que lo que queríamos detectar eran 6 colores diferentes, ademas cada casilla estaba animada, había brillos y demás, al final tuvimos que abandonar porque confundía el marrón con el rojo, en fin... un lío.

Pero por lo que veo, en tu caso sólo vas a necesitar detectar cuatro colores planos diferentes, eso son buenas noticias.
Debes hacer una plantilla que la encaje el usuario encima del tablero y que lea los pixeles y determine la figura en cada caso. No te hace falta leer todo los píxels, igual con 15 te vale , por ejemplo.

Según el vídeo que pones yo creo que lo que hace es leer valores del proceso, porque no usa ninguna plantilla. Yo creo que sería lo mejor, o eso, o como dice MCKSys Argentina:
Citar
accediendo al texto que muestra las movidas realizadas

DoEvents! :P
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines