jueves, 26 de junio de 2014

Aprendiendo C: desarrollando un juego de ajedrez

Como he decidido finalmente orientar mi carrera profesional a la industria del entretenimiento digital, y salí de la universidad con conocimientos de C muy bajos, he tomado la determinación de programar un juego de ajedrez en C para aprender (parte de) ese lenguaje.

Sin más dilación, hoy explicaré los tipos y estructuras de datos usadas.

Una pieza de ajedrez es un elemento del que (por el momento) nos interesa abstraer dos características: color y papel que juega. Mi declaración es la siguiente:

typedef struct {
   tColor color;
   tRol rol;
 } tPiece;

Tanto tColor como tRol son enumeraciones. En C una enumeración es un conjunto de elementos nombrados por el programador a los que el compilador asigna un valor en función de su orden. De esta manera,

typedef enum {WHITE, BLACK} tColor;
typedef enum {PAWN,ROOK, KNIGHT, BISHOP, QUEEN, KING} tRol;

A la hora de compilar, WHITE será sustituido por el valor 0, BLACK por 1. De igual modo, PAWN 0, ROOK 1, KNIGHT 2, etc.

Finalmente, el tablero es un array de 8x8. Ojo, es un array DE PUNTEROS a una variable de tipo tPiece:

tPiece* t[8][8];

Al por qué considero que debe ser un array de punteros, daré explicación en el siguiente post.

No hay comentarios:

Publicar un comentario