Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int checkChecker(int x_checked,int y_checked){//returns 0 when there is a checkmate in (x_checked,y_checked)
- int i=1;
- if (player==1){
- //pawn
- if(board[y_checked+1][x_checked+1]=='P'||board[y_checked+1][x_checked-1]=='P'){return 0;}
- //queen diagonally and bishop
- while(x_checked+i<8&&y_checked+i<8){
- if(board[y_checked+i][x_checked+i]=='B'||board[y_checked+i][x_checked+i]=='Q'){return 0;}
- if(board[y_checked+i][x_checked+i]>='a'&&board[y_checked+i][x_checked+i]<='z'){break;}
- i++;
- }
- i=1;
- while(x_checked-i>=0&&y_checked+i<8){
- if(board[y_checked-i][x_checked+i]=='B'||board[y_checked-i][x_checked+i]=='Q'){return 0;}
- if(board[y_checked-i][x_checked+i]>='a'&&board[y_checked-i][x_checked+i]<='z'){break;}
- i++;
- }
- i=1;
- while(x_checked-i>=0&&y_checked-i>=0){
- if(board[y_checked-i][x_checked-i]=='B'||board[y_checked-i][x_checked-i]=='Q'){return 0;}
- if(board[y_checked-i][x_checked-i]>='a'&&board[y_checked-i][x_checked-i]<='z'){break;}
- i++;
- }
- while(x_checked+i<8&&y_checked-i>=0){
- if(board[y_checked+i][x_checked-i]=='B'||board[y_checked+i][x_checked-i]=='Q'){return 0;}
- if(board[y_checked+i][x_checked-i]>='a'&&board[y_checked+i][x_checked-i]<='z'){break;}
- i++;
- }
- i=1;
- //queen horizontally and vertically and rooks
- while(x_checked+i<8){
- if(borad[y_checked+i][x_checked]=='R'||borad[y_checked+i][x_checked]=='Q'){return 0;}
- if(board[y_checked+i][x_checked]>='a'&&board[y_checked+i][x_checked]<='z'){break;}
- i++;
- }
- i=1;
- while(x_checked-i>=0){
- if(borad[y_checked-i][x_checked]=='R'||borad[y_checked-i][x_checked]=='Q'){return 0;}
- if(board[y_checked-i][x_checked]>='a'&&board[y_checked-i][x_checked]<='z'){break;}
- i++;
- }
- i=1;
- while(y_checked+i<8){
- if(borad[y_checked][x_checked+i]=='R'||borad[y_checked][x_checked+i]=='Q'){return 0;}
- if(board[y_checked][x_checked+i]>='a'&&board[y_checked][x_checked+i]<='z'){break;}
- i++;
- }
- i=1;
- while(y_checked-i<=0){
- if(borad[y_checked][x_checked-i]=='R'||borad[y_checked][x_checked-i]=='Q'){return 0;}
- if(board[y_checked][x_checked-i]>='a'&&board[y_checked][x_checked-i]<='z'){break;}
- i++;
- }
- i=1;
- //knight
- if(x_checked+1<8&&y_checked+2<8&&board[y_checked+2][x_checked+1]=='N'){return 0;}
- if(x_checked-1>=0&&y_checked+2<8&&board[y_checked+2][x_checked-1]=='N'){return 0;}
- if(x_checked+1<8&&y_checked-2>=0&&board[y_checked-2][x_checked+1]=='N'){return 0;}
- if(x_checked-1>=0&&y_checked-2>=0&&board[y_checked-2][x_checked-1]=='N'){return 0;}
- if(x_checked+2<8&&y_checked+1<8&&board[y_checked+1][x_checked+2]=='N'){return 0;}
- if(x_checked-2>=0&&y_checked+1<8&&board[y_checked+1][x_checked-2]=='N'){return 0;}
- if(x_checked-2>=0&&y_checked-1>=0&&board[y_checked-1][x_checked-2]=='N'){return 0;}
- if(x_checked+2<8&&y_checked-1>=0&&board[y_checked-1][x_checked+2]=='N'){return 0;}
- }
- if (player==-1){i=-1;
- //pawn
- if(board[y_checked-1][x_checked-1]=='P'||board[y_checked-1][x_checked+1]=='P'){return 0;}
- //queen diagonally and bishop
- while(x_checked+i>=0&&y_checked+i>=0){
- if(board[y_checked+i][x_checked+i]=='b'||board[y_checked+i][x_checked+i]=='q'){return 0;}
- if(board[y_checked+i][x_checked+i]>='A'&&board[y_checked+i][x_checked+i]<='Z'){break;}
- i--;
- }
- i=-1;
- while(x_checked-i<8&&y_checked+i>=0){
- if(board[y_checked-i][x_checked+i]=='b'||board[y_checked-i][x_checked+i]=='q'){return 0;}
- if(board[y_checked-i][x_checked+i]>='A'&&board[y_checked-i][x_checked+i]<='Z'){break;}
- i--;
- }
- i=-1;
- while(x_checked-i<8&&y_checked-i<8){
- if(board[y_checked-i][x_checked-i]=='b'||board[y_checked-i][x_checked-i]=='q'){return 0;}
- if(board[y_checked-i][x_checked-i]>='A'&&board[y_checked-i][x_checked-i]<='Z'){break;}
- i--;
- }
- while(x_checked+i>=0&&y_checked-i<8){
- if(board[y_checked+i][x_checked-i]=='b'||board[y_checked+i][x_checked-i]=='q'){return 0;}
- if(board[y_checked+i][x_checked-i]>='A'&&board[y_checked+i][x_checked-i]<='Z'){break;}
- i--;
- }
- i=-1;
- //queen horizontally and vertically and rooks
- while(x_checked+i>=0){
- if(borad[y_checked+i][x_checked]=='r'||borad[y_checked+i][x_checked]=='q'){return 0;}
- if(board[y_checked+i][x_checked]>='A'&&board[y_checked+i][x_checked]<='Z'){break;}
- i--;
- }
- i=1;
- while(x_checked-i<8){
- if(borad[y_checked-i][x_checked]=='r'||borad[y_checked-i][x_checked]=='q'){return 0;}
- if(board[y_checked-i][x_checked]>='A'&&board[y_checked-i][x_checked]<='Z'){break;}
- i--;
- }
- i=-1;
- while(y_checked+i>=0){
- if(borad[y_checked][x_checked+i]=='r'||borad[y_checked][x_checked+i]=='q'){return 0;}
- if(board[y_checked][x_checked+i]>='A'&&board[y_checked][x_checked+i]<='Z'){break;}
- i--;
- }
- i=-1;
- while(y_checked-i>8){
- if(borad[y_checked][x_checked-i]=='r'||borad[y_checked][x_checked-i]=='q'){return 0;}
- if(board[y_checked][x_checked-i]>='A'&&board[y_checked][x_checked-i]<='Z'){break;}
- i--;
- }
- i=1;
- //knight
- if(x_checked+1<8&&y_checked+2<8&&board[y_checked+2][x_checked+1]=='n'){return 0;}
- if(x_checked-1>=0&&y_checked+2<8&&board[y_checked+2][x_checked-1]=='n'){return 0;}
- if(x_checked+1<8&&y_checked-2>=0&&board[y_checked-2][x_checked+1]=='n'){return 0;}
- if(x_checked-1>=0&&y_checked-2>=0&&board[y_checked-2][x_checked-1]=='n'){return 0;}
- if(x_checked+2<8&&y_checked+1<8&&board[y_checked+1][x_checked+2]=='n'){return 0;}
- if(x_checked-2>=0&&y_checked+1<8&&board[y_checked+1][x_checked-2]=='n'){return 0;}
- if(x_checked-2>=0&&y_checked-1>=0&&board[y_checked-1][x_checked-2]=='n'){return 0;}
- if(x_checked+2<8&&y_checked-1>=0&&board[y_checked-1][x_checked+2]=='n'){return 0;}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement