• Domingo 22 de Diciembre de 2024, 22:45

Autor Tema:  comprobar que me queda una pieza en un tablero de ajedrez  (Leído 2139 veces)

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
comprobar que me queda una pieza en un tablero de ajedrez
« en: Martes 16 de Septiembre de 2008, 11:12 »
0
Hola,en un programa que es un tablero de ajedrez,tengo que sacar la DETECCION DE TABLAS,es decir que en los dos jugadores quede una pieza y esa pieza sea el rey,pero la cuestion que tengo es..que tengo que contar los movimientos de cada uno y teniendo en cuenta el número de piezas ,resto los movimientos al número de piezas y cuando me quede una pieza veo si es rey?

Me podeis dar ideas?

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #1 en: Martes 16 de Septiembre de 2008, 11:48 »
0
Cita de: "pacorubio77"
tengo que contar los movimientos de cada uno y teniendo en cuenta el número de piezas ,resto los movimientos al número de piezas y cuando me quede una pieza veo si es rey

No entiendo lo que quieres decir...

En el ajedrez de toda la vida (a lo mejor te especifican unas reglas diferentes) hay tablas en las siguientes situaciones:

1) Se acuerdan tablas
2) Rey vs Rey
3) Rey y pieza menor (caballo/alfil) vs Rey
4) Rey y 2 caballos
5) Ahogado
6) Pasados 50 turnos desde que uno de los 2 se haya quedado sólo con el rey

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #2 en: Martes 16 de Septiembre de 2008, 12:06 »
0
Ya se que hay muchas situaciones,yo solo tengo que contemplar una.que solo me quede una pieza por cada jugador y que esa pieza sea el rey de cada jugador

rfog

  • Miembro MUY activo
  • ***
  • Mensajes: 166
    • Ver Perfil
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #3 en: Martes 16 de Septiembre de 2008, 12:31 »
0
Pues si lo que quieres es, a partir de la lista de jugadas, saber qué piezas quedan en el tablero, ve reconstruyendo los movimientos o mejor, hazte una lista con las piezas de cada jugador, recorre los movimientos y cuando veas una captura, eliminas la pieza capturada.
Microsoft Visual C++ MVP - Mi blog sobre programación: http://geeks.ms/blogs/rfog

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #4 en: Martes 16 de Septiembre de 2008, 12:39 »
0
Cita de: "pacorubio77"
que solo me quede una pieza por cada jugador

Entonces esa pieza es forzosamente el rey (el rey no puede quitarse del tablero) y como ya te comenté en el anterior post (si lo has leído), es tablas automáticamente, no hay que contar nada.

Rombus

  • Miembro MUY activo
  • ***
  • Mensajes: 105
  • Nacionalidad: ar
    • Ver Perfil
    • http://myspace.com/punkrecycle
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #5 en: Martes 16 de Septiembre de 2008, 14:35 »
0
Cita de: "rfog"
Pues si lo que quieres es, a partir de la lista de jugadas, saber qué piezas quedan en el tablero, ve reconstruyendo los movimientos o mejor, hazte una lista con las piezas de cada jugador, recorre los movimientos y cuando veas una captura, eliminas la pieza capturada.


parece bastante razonable no?

Cita de: "m0skit0"
Cita de: "pacorubio77"
que solo me quede una pieza por cada jugador

Entonces esa pieza es forzosamente el rey (el rey no puede quitarse del tablero) y como ya te comenté en el anterior post (si lo has leído), es tablas automáticamente, no hay que contar nada.

Si adaptas tu codigo a lo que pareciera los mas razonable (si te sacan el rey el juego termina), entonces la ultima pieza que te puede quedar, es necesariamente el rey como dijo moskito.

rfog

  • Miembro MUY activo
  • ***
  • Mensajes: 166
    • Ver Perfil
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #6 en: Martes 16 de Septiembre de 2008, 15:25 »
0
Cita de: "Rombus"
Si adaptas tu codigo a lo que pareciera los mas razonable (si te sacan el rey el juego termina), entonces la ultima pieza que te puede quedar, es necesariamente el rey como dijo moskito.

¿Y si lo que quiere es validar si realmente la partida ha sido correcta? Ten en cuenta que lo más seguro se trata de un ejercicio sintético. Sinceramente pienso que no es una enunciación de lo más correcta, pero ya sabemos de qué pie cojean los profes... Los que nos ganamos la vida programando vemos esos ejercicios como artificiales, pero por algún lado han de empezar los aprendices.
Microsoft Visual C++ MVP - Mi blog sobre programación: http://geeks.ms/blogs/rfog

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: comprobar que me queda una pieza en un tablero de ajedrez
« Respuesta #7 en: Martes 16 de Septiembre de 2008, 16:00 »
0
Cita de: "rfog"
¿Y si lo que quiere es validar si realmente la partida ha sido correcta?

 :ph34r:  :ph34r:  :ph34r:

¿Y si quiere descifrar el sentido de la vida?

 :blink:  :wacko:  :blink:  :wacko:

Sinceramente, no me importa. Yo respondo a lo que se pregunta.