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

  • Implementación del Juego Samegame en Visual C++
    Same Game es un juego tipo puzzle (rompecabezas) de un solo jugador. El juego consiste en eliminar la mayor cantidad de grupos de elementos de un tablero de N x M.
    Por: latindev, 2005-08-08
  • Calculadora en Visual C++
    Es un tutorial sobre como implementar una calculadora científica desde cero con Visual C++ con MFC. También se implementa el calculo de algunas funciones matemáticas.
    Por: ivancp, 2008-05-03
  • Uso de CListCtrl y DAO
    na forma de utilizar el control ActiveX MSFlexGrid en aplicaciones Visual C++ basadas en MFC, este control es útil para visualizar datos.
    Por: MicroLogic©Software, 2005-04-20
¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro de Visual C++ »