Código
#define DeclararPiezas(jugador,dirrecion) Tablero[0][dirrecion] = jugador(TORRE); \ Tablero[1][dirrecion] = jugador(CABALLO); \ Tablero[3][dirrecion] = jugador(REY); \ Tablero[4][dirrecion] = jugador(REINA); \ Tablero[5][dirrecion] = jugador(ALFIL); \ Tablero[6][dirrecion] = jugador(CABALLO); \ Tablero[7][dirrecion] = jugador(TORRE); \ #if dirrecion ABAJO #define aux 1 #else #define aux -1 #endif \ for (int i = 0; i < 8;i++) \ Tablero[i][dirrecion+aux] = jugador(PEON);
Dado un jugador y una orientacion (ARRIBA o ABAJO). Se declara un tablero de ajedrez. Ahora bien, para poner los peones no es tan sencillo puesto que dependiendo si esta arriba o abajo tengo que sumar 1 o restar 1.
He hecho ahí una prueba (#if dirrecion abajo) pero evidentemente el compilador no se lo traga. ¿Alguna idea?