Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <iostream>
- using namespace std;
- int main()
- {
- int board[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 turn=1;
- int piece;
- int piece2;
- char b[10];
- char exit[10];
- char co1[]={"AaBbCcDdEeFfGgHh"};
- char co2[]={"12345678"};
- board[0][0][0]=4;
- board[1][0][0]=6;
- board[2][0][0]=8;
- board[3][0][0]=10;
- board[4][0][0]=12;
- board[5][0][0]=8;
- board[6][0][0]=6;
- board[7][0][0]=4;
- board[0][1][0]=2;
- board[1][1][0]=2;
- board[2][1][0]=2;
- board[3][1][0]=2;
- board[4][1][0]=2;
- board[5][1][0]=2;
- board[6][1][0]=2;
- board[7][1][0]=2;
- board[0][7][0]=3;
- board[1][7][0]=5;
- board[2][7][0]=7;
- board[3][7][0]=9;
- board[4][7][0]=11;
- board[5][7][0]=7;
- board[6][7][0]=5;
- board[7][7][0]=3;
- board[0][6][0]=1;
- board[1][6][0]=1;
- board[2][6][0]=1;
- board[3][6][0]=1;
- board[4][6][0]=1;
- board[5][6][0]=1;
- board[6][6][0]=1;
- board[7][6][0]=1;
- for(y=2;y<6;++y)
- {
- for(x=0;x<8;++x)
- {
- board[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 (board[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 (board[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 (board[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 (board[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 (board[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("Enter the coordinates of the piece you want to move: ");
- }
- else
- {
- switch (board[h][i][0])
- {
- case 1:
- case 2:
- printf("Pawn ");
- if (turn%2==1)
- piece=1;
- else
- piece=2;
- break;
- case 3:
- case 4:
- printf("Tower ");
- if (turn%2==1)
- piece=3;
- else
- piece=4;
- break;
- case 5:
- case 6:
- printf("Knight ");
- if (turn%2==1)
- piece=5;
- else
- piece=6;
- break;
- case 7:
- case 8:
- printf("Bishop ");
- if (turn%2==1)
- piece=7;
- else
- piece=8;
- break;
- case 9:
- case 10:
- printf("Queen ");
- if (turn%2==1)
- piece=9;
- else
- piece=10;
- break;
- case 11:
- case 12:
- printf("King ");
- if (turn%2==1)
- piece=11;
- else
- piece=12;
- break;
- }
- printf("to: ");
- }
- 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("Wrong Input");
- 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 (board[h][i][0]==0)
- {
- printf("\n");
- printf("This square is empty, choose another.");
- printf("\n");
- printf("\n");
- printf("\n");
- l=0;
- }
- else
- {
- if (turn%2==1 && board[h][i][0]%2==0)
- {
- printf("\n");
- printf("It's White's turn. Choose a White piece.");
- printf("\n");
- printf("\n");
- printf("\n");
- l=0;
- }
- else
- {
- if (turn%2==0 && board[h][i][0]%2==1)
- {
- printf("\n");
- printf("It's Black's turn. Choose a Black piece.");
- printf("\n");
- printf("\n");
- printf("\n");
- l=0;
- }
- }
- }
- }
- else
- {
- }
- if (l==2)
- {
- if (board[j][k][0]==board[h][i][0])
- {
- printf("\n");
- printf("Illegal movement");
- printf("\n");
- printf("\n");
- printf("\n");
- l=1;
- }
- else
- {
- }
- switch (piece)
- {
- 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) ) )&&(board[h][i][0]!=0)&&(board[h][i][0]%2==0))))
- {
- continue;
- }
- else
- {
- printf("\n");
- printf("Illegal movement");
- 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("Illegal movement");
- 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("Illegal movement");
- 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("Illegal movement");
- 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);
- board[h][i][0]=board[j][k][0];
- board[j][k][0]=0;
- turn++;
- }while (1==1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement