Juego de Ajedrez en Visual C++

Por:latindev, enviado 14 mar 2004

Introducción

A mi entender, la mejor forma de aprender y comprender algoritmos de programación es programando 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.

Hace algunos años implementé un juego de 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í re-hacer el proyecto pero esta vez documentado y explicándolo paso a paso.

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.

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:

0ajedrez-terminado.jpg
Imagen 1: Juego de Ajedrez en Visual C++ Terminado

Contenido del tutorial

Tareas por hacer


El proyecto no esta completo, por lo que dejo una lista de tareas por hacer para que algun 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 peon al paso.
  • Detectar Jaque / Jaque Mate.
  • Visualizar las movidas realizadas segun la notación oficial.
  • Permitir guardar/recuperar una partida.

Historial de cambios

  • 1.1 2008-nov-04
    • Despues de mucho tiempo el autor mudó el codigo fuente a Visual C++ 2003
    • Correccion del movimiento del Rey (gracias a marcossuhit)
  • 1.0 2004-mar-14
    • Lanzamiento de la primera version del juego en latindevelopers.com

Archivos Adjuntos

  • Ajedrez.zip 84,86 KiB
    Código fuente Ajedréz Visual C++ 2005

Otros Artículos en esta sección

  • HACHA (AXE) Cortador de Archivos
    Es una versión del cortador de archivos Hacha que incluye el código fuente, puedes utilizar el cortador para enviar archivos en medios pequeños.
    Por: Lizardo, 2004-03-14
  • Datacombo para Visual C++
    Una clase que visualiza el resultado de una consulta SQL en un cuadro combinado (CCombobox) utilizando una conexion DAO.
    Por: latindev, 2004-03-14
  • Graficador de Funciones 2D y 3D
    He aquí un programa que grafica todo tipo de funciones gracias a su interprete que utiliza un Analizador Léxico, Analizador Sintáctico, y un Analizador semántico.
    Por: Lizardo, 2004-03-14
¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro de Visual C++ »