From 143d3d33a11ab04a1f4dba1a9857cf7d3f553cd8 Mon Sep 17 00:00:00 2001 From: anon Date: Thu, 23 Feb 2023 21:49:03 +0100 Subject: [PATCH] +Chess --- Chess.cpp | 2131 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2131 insertions(+) create mode 100644 Chess.cpp diff --git a/Chess.cpp b/Chess.cpp new file mode 100644 index 0000000..f9f1e47 --- /dev/null +++ b/Chess.cpp @@ -0,0 +1,2131 @@ +#include +#include + +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("//>##< "); + } + + printf("|"); + if (x==7) + { + printf(" "); + printf("\n"); + + } + + else{} + break; + + } + + + case 10: + { + if ((x+y)%2==0) + { + printf("//> < "); + } + + printf("|"); + if (x==7) + { + printf(" "); + printf("\n"); + + } + + else{} + break; + } + + + case 11: + { + if ((x+y)%2==0) + { + printf("//>##< "); + } + + printf("|"); + if (x==7) + { + printf(" "); + printf("\n"); + + } + + else{} + break; + } + + + case 12: + { + if ((x+y)%2==0) + { + 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("//>##< "); + } + + printf("|"); + if (x==7) + { + printf(" "); + printf("\n"); + + } + + else{} + break; + } + + + case 8: + { + if ((x+y)%2==0) + { + 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; +} \ No newline at end of file