2131 lines
61 KiB
C++
2131 lines
61 KiB
C++
#include <stdio.h>
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
int tab[8][8][2];
|
|
int a,d,e,f,g,h,i,j,m,n,k,x,y,z;
|
|
int l=0;
|
|
int c=0;
|
|
int c1=0;
|
|
int turno=1;
|
|
int pieza;
|
|
int pieza2;
|
|
char b[10];
|
|
char exit[10];
|
|
char co1[]={"AaBbCcDdEeFfGgHh"};
|
|
char co2[]={"12345678"};
|
|
|
|
|
|
|
|
tab[0][0][0]=4;
|
|
tab[1][0][0]=6;
|
|
tab[2][0][0]=8;
|
|
tab[3][0][0]=10;
|
|
tab[4][0][0]=12;
|
|
tab[5][0][0]=8;
|
|
tab[6][0][0]=6;
|
|
tab[7][0][0]=4;
|
|
tab[0][1][0]=2;
|
|
tab[1][1][0]=2;
|
|
tab[2][1][0]=2;
|
|
tab[3][1][0]=2;
|
|
tab[4][1][0]=2;
|
|
tab[5][1][0]=2;
|
|
tab[6][1][0]=2;
|
|
tab[7][1][0]=2;
|
|
tab[0][7][0]=3;
|
|
tab[1][7][0]=5;
|
|
tab[2][7][0]=7;
|
|
tab[3][7][0]=9;
|
|
tab[4][7][0]=11;
|
|
tab[5][7][0]=7;
|
|
tab[6][7][0]=5;
|
|
tab[7][7][0]=3;
|
|
tab[0][6][0]=1;
|
|
tab[1][6][0]=1;
|
|
tab[2][6][0]=1;
|
|
tab[3][6][0]=1;
|
|
tab[4][6][0]=1;
|
|
tab[5][6][0]=1;
|
|
tab[6][6][0]=1;
|
|
tab[7][6][0]=1;
|
|
|
|
|
|
|
|
|
|
for(y=2;y<6;++y)
|
|
{
|
|
for(x=0;x<8;++x)
|
|
{
|
|
tab[x][y][0]=0;
|
|
}
|
|
}
|
|
|
|
do
|
|
{
|
|
c=0;
|
|
|
|
for(y=0;y<8;++y)
|
|
|
|
{
|
|
if (y==0)
|
|
{
|
|
printf(" ");
|
|
while (c<8)
|
|
{
|
|
printf("_______ ");
|
|
c++;
|
|
}
|
|
printf(" ");
|
|
printf("\n");
|
|
}
|
|
|
|
else{}
|
|
|
|
|
|
|
|
|
|
for(z=1;z<=5;++z)
|
|
|
|
{
|
|
|
|
for(x=0;x<8;++x)
|
|
|
|
{
|
|
|
|
if (x==0)
|
|
{
|
|
if (z==3)
|
|
{
|
|
a=(8-y);
|
|
printf(" ");
|
|
printf("%d",a);
|
|
printf(" |");
|
|
}
|
|
|
|
else
|
|
{
|
|
printf(" |");
|
|
}
|
|
}
|
|
else{}
|
|
|
|
|
|
|
|
|
|
|
|
switch (z)
|
|
{
|
|
case 1:
|
|
{
|
|
|
|
switch (tab[x][y][0])
|
|
{
|
|
case 1:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///_///");
|
|
}
|
|
else
|
|
{
|
|
printf(" _ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 2:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///_///");
|
|
}
|
|
else
|
|
{
|
|
printf(" _ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 3:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//^^^//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ^^^ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
case 4:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//^^^//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ^^^ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 5:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//___//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ___ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
case 6:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//___//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ___ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 7:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///^///");
|
|
}
|
|
else
|
|
{
|
|
printf(" ^ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 8:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///^///");
|
|
}
|
|
else
|
|
{
|
|
printf(" ^ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 9:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//@@@//");
|
|
}
|
|
else
|
|
{
|
|
printf(" @@@ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
case 10:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//@@@//");
|
|
}
|
|
else
|
|
{
|
|
printf(" @@@ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 11:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//{+}//");
|
|
}
|
|
else
|
|
{
|
|
printf(" {+} ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 12:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//{+}//");
|
|
}
|
|
else
|
|
{
|
|
printf(" {+} ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
default:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///////");
|
|
}
|
|
else
|
|
{
|
|
printf(" ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
}
|
|
break;
|
|
}
|
|
|
|
case 2:
|
|
{
|
|
|
|
switch (tab[x][y][0])
|
|
{
|
|
case 1:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//(#)//");
|
|
}
|
|
else
|
|
{
|
|
printf(" (#) ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 2:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//( )//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ( ) ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 3:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/[###]/");
|
|
}
|
|
else
|
|
{
|
|
printf(" [###] ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
case 4:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/[ ]/");
|
|
}
|
|
else
|
|
{
|
|
printf(" [ ] ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 5:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("|/@#<|/");
|
|
}
|
|
else
|
|
{
|
|
printf(" /@#< ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
case 6:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("|/@ <|/");
|
|
}
|
|
else
|
|
{
|
|
printf(" /@ < ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 7:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/<###>/");
|
|
}
|
|
else
|
|
{
|
|
printf(" <###> ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 8:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/< >/");
|
|
}
|
|
else
|
|
{
|
|
printf(" < > ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 9:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//>#<//");
|
|
}
|
|
else
|
|
{
|
|
printf(" >#< ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
case 10:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//> <//");
|
|
}
|
|
else
|
|
{
|
|
printf(" > < ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 11:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//>#<//");
|
|
}
|
|
else
|
|
{
|
|
printf(" >#< ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 12:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//> <//");
|
|
}
|
|
else
|
|
{
|
|
printf(" > < ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
default:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///////");
|
|
}
|
|
else
|
|
{
|
|
printf(" ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
case 3:
|
|
{
|
|
|
|
switch (tab[x][y][0])
|
|
{
|
|
case 1:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//}#{//");
|
|
}
|
|
else
|
|
{
|
|
printf(" }#{ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 2:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//} {//");
|
|
}
|
|
else
|
|
{
|
|
printf(" } { ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 3:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//]#[//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ]#[ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
case 4:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//] [//");
|
|
}
|
|
else
|
|
{
|
|
printf(" ] [ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 5:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/}##/|/");
|
|
}
|
|
else
|
|
{
|
|
printf(" }##/ ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
case 6:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/} /|/");
|
|
}
|
|
else
|
|
{
|
|
printf(" } / ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 7:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//>#<//");
|
|
}
|
|
else
|
|
{
|
|
printf(" >#< ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 8:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//> <//");
|
|
}
|
|
else
|
|
{
|
|
printf(" > < ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 9:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//<#>//");
|
|
}
|
|
else
|
|
{
|
|
printf(" <#> ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
case 10:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//< >//");
|
|
}
|
|
else
|
|
{
|
|
printf(" < > ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 11:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//<#>//");
|
|
}
|
|
else
|
|
{
|
|
printf(" <#> ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 12:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("//< >//");
|
|
}
|
|
else
|
|
{
|
|
printf(" < > ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
default:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///////");
|
|
}
|
|
else
|
|
{
|
|
printf(" ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
case 4:
|
|
{
|
|
|
|
switch (tab[x][y][0])
|
|
{
|
|
case 1:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{###}/");
|
|
}
|
|
else
|
|
{
|
|
printf(" {###} ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 2:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{ }/");
|
|
}
|
|
else
|
|
{
|
|
printf(" { } ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 3:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/[###]/");
|
|
}
|
|
else
|
|
{
|
|
printf(" [###] ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
case 4:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/[ ]/");
|
|
}
|
|
else
|
|
{
|
|
printf(" [ ] ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 5:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{##}//");
|
|
}
|
|
else
|
|
{
|
|
printf(" {##} ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
case 6:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{ }//");
|
|
}
|
|
else
|
|
{
|
|
printf(" { } ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 7:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/[###]/");
|
|
}
|
|
else
|
|
{
|
|
printf(" [###] ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 8:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/[ ]/");
|
|
}
|
|
else
|
|
{
|
|
printf(" [ ] ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 9:
|
|
{
|
|
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{###}/");
|
|
}
|
|
else
|
|
{
|
|
printf(" {###} ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
case 10:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{ }/");
|
|
}
|
|
else
|
|
{
|
|
printf(" { } ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 11:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{###}/");
|
|
}
|
|
else
|
|
{
|
|
printf(" {###} ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 12:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("/{ }/");
|
|
}
|
|
else
|
|
{
|
|
printf(" { } ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
default:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("///////");
|
|
}
|
|
else
|
|
{
|
|
printf(" ");
|
|
}
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
case 5:
|
|
{
|
|
|
|
switch (tab[x][y][0])
|
|
{
|
|
case 1:
|
|
{
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 2:
|
|
{
|
|
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 3:
|
|
{
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
case 4:
|
|
{
|
|
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 5:
|
|
{
|
|
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
case 6:
|
|
{
|
|
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 7:
|
|
{
|
|
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 8:
|
|
{
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
case 9:
|
|
{
|
|
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
case 10:
|
|
{
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 11:
|
|
{
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
|
|
case 12:
|
|
{
|
|
printf("_______");
|
|
|
|
printf("|");
|
|
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
|
|
default:
|
|
{
|
|
if ((x+y)%2==0)
|
|
{
|
|
printf("_______");
|
|
}
|
|
else
|
|
{
|
|
printf("_______");
|
|
}
|
|
|
|
printf("|");
|
|
|
|
if (x==7)
|
|
{
|
|
printf(" ");
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
else{}
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("\n");
|
|
printf(" ");
|
|
|
|
printf(" A B C D E F G H ");
|
|
|
|
|
|
printf(" ");
|
|
printf("\n");
|
|
printf("\n");
|
|
|
|
l=0;
|
|
do
|
|
{
|
|
l++;
|
|
|
|
do
|
|
{
|
|
|
|
|
|
if (l==1)
|
|
{
|
|
printf("Ingrese posicion de pieza a mover: ");
|
|
|
|
}
|
|
|
|
else
|
|
{
|
|
switch (tab[h][i][0])
|
|
{
|
|
case 1:
|
|
case 2:
|
|
printf("Peon ");
|
|
|
|
if (turno%2==1)
|
|
pieza=1;
|
|
else
|
|
pieza=2;
|
|
|
|
break;
|
|
|
|
case 3:
|
|
case 4:
|
|
printf("Torre ");
|
|
|
|
if (turno%2==1)
|
|
pieza=3;
|
|
else
|
|
pieza=4;
|
|
|
|
break;
|
|
|
|
case 5:
|
|
case 6:
|
|
printf("Caballo ");
|
|
|
|
if (turno%2==1)
|
|
pieza=5;
|
|
else
|
|
pieza=6;
|
|
|
|
break;
|
|
|
|
case 7:
|
|
case 8:
|
|
printf("Alfil ");
|
|
|
|
if (turno%2==1)
|
|
pieza=7;
|
|
else
|
|
pieza=8;
|
|
|
|
break;
|
|
|
|
case 9:
|
|
case 10:
|
|
printf("Reina ");
|
|
|
|
if (turno%2==1)
|
|
pieza=9;
|
|
else
|
|
pieza=10;
|
|
|
|
break;
|
|
|
|
case 11:
|
|
case 12:
|
|
printf("Rey ");
|
|
|
|
if (turno%2==1)
|
|
pieza=11;
|
|
else
|
|
pieza=12;
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
printf("a casilla: ");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
cin >> b;
|
|
printf("\n");
|
|
|
|
for(d=0;d<16;++d)
|
|
{
|
|
if (b[0]==co1[d])
|
|
{
|
|
e=d;
|
|
break;
|
|
}
|
|
else
|
|
{}
|
|
|
|
}
|
|
|
|
for(f=0;f<8;++f)
|
|
{
|
|
if (b[1]==co2[f])
|
|
{
|
|
g=f;
|
|
break;
|
|
}
|
|
else
|
|
{}
|
|
|
|
}
|
|
|
|
if (d==16||f==8)
|
|
{
|
|
printf("\n");
|
|
printf("Valor erroneo, ingrese un valor valido");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
}
|
|
}while (d==16||f==8);
|
|
|
|
switch (e)
|
|
{
|
|
|
|
case 0:
|
|
case 1:
|
|
h=0;
|
|
break;
|
|
|
|
case 2:
|
|
case 3:
|
|
h=1;
|
|
break;
|
|
|
|
case 4:
|
|
case 5:
|
|
h=2;
|
|
break;
|
|
|
|
case 6:
|
|
case 7:
|
|
h=3;
|
|
break;
|
|
|
|
case 8:
|
|
case 9:
|
|
h=4;
|
|
break;
|
|
|
|
case 10:
|
|
case 11:
|
|
h=5;
|
|
break;
|
|
|
|
case 12:
|
|
case 13:
|
|
h=6;
|
|
break;
|
|
|
|
case 14:
|
|
case 15:
|
|
h=7;
|
|
break;
|
|
}
|
|
|
|
switch (g)
|
|
{
|
|
case 0:
|
|
i=7;
|
|
break;
|
|
|
|
case 1:
|
|
i=6;
|
|
break;
|
|
|
|
case 2:
|
|
i=5;
|
|
break;
|
|
|
|
case 3:
|
|
i=4;
|
|
break;
|
|
|
|
case 4:
|
|
i=3;
|
|
break;
|
|
|
|
case 5:
|
|
i=2;
|
|
break;
|
|
|
|
case 6:
|
|
i=1;
|
|
break;
|
|
|
|
case 7:
|
|
i=0;
|
|
break;
|
|
}
|
|
|
|
if (l==1)
|
|
|
|
{
|
|
j=h;
|
|
k=i;
|
|
|
|
|
|
|
|
if (tab[h][i][0]==0)
|
|
{
|
|
printf("\n");
|
|
printf("Casilla vacia, ingrese otra posicion.");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=0;
|
|
}
|
|
|
|
else
|
|
{
|
|
if (turno%2==1 && tab[h][i][0]%2==0)
|
|
{
|
|
printf("\n");
|
|
printf("Juegan las Blancas, escoja un a pieza Blanca.");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=0;
|
|
}
|
|
|
|
else
|
|
{
|
|
if (turno%2==0 && tab[h][i][0]%2==1)
|
|
{
|
|
printf("\n");
|
|
printf("Juegan las Negras, escoja un a pieza Negra.");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=0;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
{
|
|
|
|
}
|
|
|
|
if (l==2)
|
|
{
|
|
if (tab[j][k][0]==tab[h][i][0])
|
|
{
|
|
printf("\n");
|
|
printf("Movimineto invalido");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=1;
|
|
}
|
|
|
|
else
|
|
{
|
|
}
|
|
|
|
switch (pieza)
|
|
{
|
|
|
|
case 1:
|
|
|
|
if (k==6)
|
|
{
|
|
if ( (j==h) && ( (k==i+1) || (k==i+2) ) )
|
|
|
|
{
|
|
continue;
|
|
}
|
|
|
|
else
|
|
{
|
|
if ((( ( (j==h+1)||( (j==h-1)&&(k==i+1) ) )&&(tab[h][i][0]!=0)&&(tab[h][i][0]%2==0))))
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
printf("\n");
|
|
printf("Movimineto invalido");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((j==h) && (k==i+1))
|
|
|
|
{
|
|
continue;
|
|
}
|
|
|
|
else
|
|
{
|
|
if ((j==h+1)||((j==h-1)&&(k==i+1)))
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
printf("\n");
|
|
printf("Movimineto invalido");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=1;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
if (k==1)
|
|
{
|
|
if ( (j==h) && ( (k==i-1) || (k==i-2) ) )
|
|
|
|
{
|
|
continue;
|
|
}
|
|
|
|
else
|
|
{
|
|
if ((j==h+1)||((j==h-1)&&(k==i-1)))
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
printf("\n");
|
|
printf("Movimineto invalido");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ((j==h) && (k==i-1))
|
|
|
|
{
|
|
continue;
|
|
}
|
|
|
|
else
|
|
{
|
|
if ((j==h+1)||((j==h-1)&&(k==i-1)))
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
printf("\n");
|
|
printf("Movimineto invalido");
|
|
printf("\n");
|
|
printf("\n");
|
|
printf("\n");
|
|
l=1;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
case 4:
|
|
|
|
break;
|
|
|
|
case 5:
|
|
case 6:
|
|
|
|
break;
|
|
|
|
case 7:
|
|
case 8:
|
|
|
|
break;
|
|
|
|
case 9:
|
|
case 10:
|
|
|
|
break;
|
|
|
|
case 11:
|
|
case 12:
|
|
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}while (l<2);
|
|
|
|
tab[h][i][0]=tab[j][k][0];
|
|
|
|
tab[j][k][0]=0;
|
|
|
|
turno++;
|
|
|
|
|
|
|
|
}while (1==1);
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
} |