@minomic
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <easyconsole.h>
#include <easytype.h>
#define VUOTO 0x10
#define PEDONE 0x01
#define TORRE 0x02
#define CAVALLO 0x03
#define ALFIERE 0x04
#define RE 0x05
#define REGINA 0x06
#define NERO 0x10
#define BIANCO 0x20
BYTE scacchiera[64];
BYTE dispo[8] = {TORRE,CAVALLO,ALFIERE,RE,REGINA,ALFIERE,CAVALLO,TORRE};
CHAR* dch[8] = {" ","P","T","C","A","R","E"};
void reset()
{
memset(scacchiera,VUOTO, 64);
memset(&scacchiera[1 * 8],PEDONE | NERO, 8);
memset(&scacchiera[6 * 8],PEDONE | BIANCO, 8);
INT32 i;
for ( i = 0; i < 8; ++i)
{
scacchiera[0*8+i] = dispo[i] | NERO;
scacchiera[7*8+i] = dispo[i] | BIANCO;
}
}
void draw()
{
con_cls();
INT32 y,x;
puts("\t |A|B|C|D|E|F|G|H|");
for ( y = 0; y < 8; ++y)
{
con_setcolor(0,0);
printf("\t------------------\n\t%d",y);
for ( x = 0; x < 8; ++x)
{
if (scacchiera[y*8+x] & NERO)
con_setcolor(0,0);
else
con_setcolor(0,CON_COLOR_WHYTE);
printf("|%s",dch[scacchiera[y*8+x] & 0x0F]);
}
printf("|\n");
}
con_setcolor(0,0);
puts("\t------------------");
}
int main(int argc,char* argv[])
{
reset();
draw();
return 0;
}
una scacchiera completa in circa 50 righe di codice comprensivi di \n vuoti....
aggiungi le funzioni prendi input una controlla mossa ed il gioco è finito...