Una forma de aprender y comprender algoritmos de programación es escribiendo juegos. Los juegos suelen presentar situaciones que ayudan a despertar la creatividad y por la complejidad incentivan el uso de algoritmos complejos casi como jugando.
Este tutorial le ayudará a usted a implementar un juego de ajedrez, para ello he utilizado Microsoft Visual C++ 2005, sin embargo usted puede seguir los pasos con otras versiones de Visual C++ incluso otros entornos de programación.
Han pasado muchos años desde que implementé éste ajedrez que publique sin documentación, miles de usuarios descargaron el código fuente del proyecto pero muchos me escribieron recordándome que no había documentación para entender el proyecto. Es por eso que decidí rehacer el proyecto pero esta vez documentado y explicándolo paso a paso.
Objetivo
El objetivo, obviamente, es implementar un juego de ajedrez escrito en Visual C++ con los siguientes requisitos:
- Uso de la interfaz gráfica con manejo del Mouse.
- Controlar validar movidas de los jugadores.
- Permitir dos jugadores.
- Detectar jaque, jaque mate, enroques, y otras movidas.
Así se verá el juego cuando se termine de codificar:
Tareas pendientes
El proyecto no esta completo, por lo que dejo una lista de tareas por hacer para que algún aventurero se anime a completarlas. Si alguien ha completado alguna solo tiene que escribirme a mi correo e inmediatamente subiré su actualización.
- Permitir enroque y peón al paso.
- Detectar Jaque / Jaque Mate.
- Visualizar las movidas realizadas según la notación oficial.
- Permitir guardar/recuperar una partida.
Historial de cambios
- 1.1 2017-dic-26 Mover el artículo a nueva plataforma
- 1.1 2008-nov-04
- Después de mucho tiempo el autor mudó el código fuente a Visual C++ 2003
- Corrección del movimiento del Rey (gracias a marcossuhit)
- 1.0 2004-mar-14
- Lanzamiento de la primera versión del juego en latindevelopers.com
Creación del proyecto
Para no alargar más este asunto, lo primero que tenemos que hacer es crear el proyecto, el tipo de aplicación que necesitamos es “Documento único” conocido también como SDI (Simple Document Interface), asegurarse de que el check de la opción “Usar bibliotecas unicode” este deshabilitado por que no siempre están disponibles dichas bibliotecas en tiempo de ejecución (Ver Imagen 2).
En el siguiente paso del asistente podemos prescindir de algunas características que no utilizaremos en el proyecto, como: Controles ActiveX, Impresión y vista preliminar, Ayuda Contextual. Sólo consideraremos la opción “Manifiesto de controles comunes”, esta opción nos ayudará a sintonizar los controles comunes con el tema de Windows actual, de tal forma que no se vean extraños.
El resto de opciones no necesita mayor explicación, y al final encontrarán una ventana como de la imagen 4, en este punto deben asegurarse de tener a CView como clase base de la clase CAjedrezView; esto significa la clase donde dibujaremos y realizaremos todas las operaciones que tienen que ver con ajedrez estarán en la clase CAjedrezView.
Luego de hacer clic en finalizar se habrá creado un proyecto con las 4 clases que se muestran en la figura 4, podemos compilar y ejecutar el proyecto y obtendremos un programa como el que se muestra en la imagen 5.
Hola amigo como estas, oye estoy interesado en una plataforma de juegos, ajedrez, damas inglesas, bagkammon y dominó, me gustaría platicar contigo haber si estas interesado, que tengas un excelente día
Claro, cuando quieras
https://youtu.be/6nw9wMbbQoc