Professional Documents
Culture Documents
Chess
Chess
#include <windows.h>
#include <conio.h>
#include "Chess.h"
char board[8][8] =
{
{ 'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r' },
{ 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p' },
{ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
{ 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P' },
{ 'R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R' },
};
//................. p=P=Pawn, r=R=Tower, n=N=Knight, q=Q=Queen,
k=K=King .................//
bool Player1PawnMove(int Frow, int Fcolumn, int Trow, int Tcolumn)
{
if (Frow == 6)
{
if (Frow - 1 == Trow && Fcolumn == Tcolumn)
{
if (board[Trow][Tcolumn] == ' ')
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'P';
return true;
}
else
{
return false;
}
}
}
bool Player2KnightMove(int Frow, int Fcolumn, int Trow, int Tcolumn)
{
if (Frow - 2 == Trow && Fcolumn + 1 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'n') &&
(board[Trow][Tcolumn] != 'b') && (board[Trow][Tcolumn] != 'q') && (board[Trow]
[Tcolumn] != 'k') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
{
return false;
}
}
else if (Frow - 2 == Trow&&Fcolumn - 1 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'n') &&
(board[Trow][Tcolumn] != 'b') && (board[Trow][Tcolumn] != 'q') && (board[Trow]
[Tcolumn] != 'k') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
else if (Frow - 1 == Trow&&Fcolumn + 2 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'b') &&
(board[Trow][Tcolumn] != 'n') && (board[Trow][Tcolumn] != 'q') && (board[Trow]
[Tcolumn] != 'k') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
else if (Frow - 1 == Trow&&Fcolumn - 2 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'b') &&
(board[Trow][Tcolumn] != 'q') && (board[Trow][Tcolumn] != 'n') && (board[Trow]
[Tcolumn] != 'k') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
else if (Frow + 1 == Trow&&Fcolumn + 2 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'b') &&
(board[Trow][Tcolumn] != 'q') && (board[Trow][Tcolumn] != 'k') && (board[Trow]
[Tcolumn] != 'n') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
else if (Frow + 1 == Trow&&Fcolumn - 2 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'b') &&
(board[Trow][Tcolumn] != 'q') && (board[Trow][Tcolumn] != 'k') && (board[Trow]
[Tcolumn] != 'p') && (board[Trow][Tcolumn] != 'n'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
else if (Frow + 2 == Trow&&Fcolumn + 1 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'n') &&
(board[Trow][Tcolumn] != 'b') && (board[Trow][Tcolumn] != 'q') && (board[Trow]
[Tcolumn] != 'k') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
else if (Frow + 2 == Trow&&Fcolumn - 1 == Tcolumn)
{
if ((board[Trow][Tcolumn] != 'r') && (board[Trow][Tcolumn] != 'b') &&
(board[Trow][Tcolumn] != 'q') && (board[Trow][Tcolumn] != 'k') && (board[Trow]
[Tcolumn] != 'n') && (board[Trow][Tcolumn] != 'p'))
{
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'n';
return true;
}
else
return false;
}
}
bool Player1TowerMove(int Frow, int Fcolumn, int Trow, int Tcolumn)
{
if (Frow == Trow)
{
if (Tcolumn > Fcolumn)
{
for (int i = Fcolumn+1; i < Tcolumn; i++)
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn] ==
'N') || (board[i][Tcolumn] == 'B') || (board[i][Tcolumn] == 'Q') || (board[i]
[Tcolumn] == 'K') || (board[i][Tcolumn] == 'P') || (board[i][Tcolumn] == 'r') ||
(board[i][Tcolumn] == 'n') || (board[i][Tcolumn] == 'b') || (board[i][Tcolumn] ==
'q') || (board[i][Tcolumn] == 'k') || (board[i][Tcolumn] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'R') || (board[Trow][Tcolumn] ==
'N') || (board[Trow][Tcolumn] == 'B') || (board[Trow][Tcolumn] == 'Q') ||
(board[Trow][Tcolumn] == 'K') || (board[Trow][Tcolumn] == 'P'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'R';
return true;
}
else if(Tcolumn<Fcolumn)
{
for (int i = Fcolumn-1; i > Tcolumn; i--)
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn] ==
'N') || (board[i][Tcolumn] == 'B') || (board[i][Tcolumn] == 'Q') || (board[i]
[Tcolumn] == 'K') || (board[i][Tcolumn] == 'P') || (board[i][Tcolumn] == 'r') ||
(board[i][Tcolumn] == 'n') || (board[i][Tcolumn] == 'b') || (board[i][Tcolumn] ==
'q') || (board[i][Tcolumn] == 'k') || (board[i][Tcolumn] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'R') || (board[Trow][Tcolumn] ==
'N') || (board[Trow][Tcolumn] == 'B') || (board[Trow][Tcolumn] == 'Q') ||
(board[Trow][Tcolumn] == 'K') || (board[Trow][Tcolumn] == 'P'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'R';
return true;
}
}
if (Fcolumn == Tcolumn)
{
if (Trow > Frow)
{
for (int i = Frow + 1; i < Trow; i++)
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn] ==
'N') || (board[i][Tcolumn] == 'B') || (board[i][Tcolumn] == 'Q') || (board[i]
[Tcolumn] == 'K') || (board[i][Tcolumn] == 'P') || (board[i][Tcolumn] == 'r') ||
(board[i][Tcolumn] == 'n') || (board[i][Tcolumn] == 'b') || (board[i][Tcolumn] ==
'q') || (board[i][Tcolumn] == 'k') || (board[i][Tcolumn] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'R') || (board[Trow][Tcolumn] ==
'N') || (board[Trow][Tcolumn] == 'B') || (board[Trow][Tcolumn] == 'Q') ||
(board[Trow][Tcolumn] == 'K') || (board[Trow][Tcolumn] == 'P'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'R';
return true;
}
else if(Trow<Frow)
{
for (int i = Frow-1; i > Trow; i--)
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn] ==
'N') || (board[i][Tcolumn] == 'B') || (board[i][Tcolumn] == 'Q') || (board[i]
[Tcolumn] == 'K') || (board[i][Tcolumn] == 'P') || (board[i][Tcolumn] == 'r') ||
(board[i][Tcolumn] == 'n') || (board[i][Tcolumn] == 'b') || (board[i][Tcolumn] ==
'q') || (board[i][Tcolumn] == 'k') || (board[i][Tcolumn] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'R') || (board[Trow][Tcolumn] ==
'N') || (board[Trow][Tcolumn] == 'B') || (board[Trow][Tcolumn] == 'Q') ||
(board[Trow][Tcolumn] == 'K') || (board[Trow][Tcolumn] == 'P'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'R';
return true;
}
}
}
bool Player2TowerMove(int Frow, int Fcolumn, int Trow, int Tcolumn)
{
if (Frow == Trow)
{
if (Tcolumn > Fcolumn)
{
for (int i = Fcolumn + 1; i < Tcolumn; i++)
{
if ((board[Trow][i] == 'R') || (board[Trow][i] == 'N') ||
(board[Trow][i] == 'B') || (board[Trow][i] == 'Q') || (board[Trow][i] == 'K') ||
(board[Trow][i] == 'P') || (board[Trow][i] == 'r') || (board[Trow][i] == 'n') ||
(board[Trow][i] == 'b') || (board[Trow][i] == 'q') || (board[Trow][i] == 'k') ||
(board[Trow][i] == 'p'))
{
return false;
}
if ((board[Trow][Tcolumn] == 'r') || (board[Trow][Tcolumn]
== 'n') || (board[Trow][Tcolumn] == 'b') || (board[Trow][Tcolumn] == 'q') ||
(board[Trow][Tcolumn] == 'k') || (board[Trow][Tcolumn] == 'p'))
{
return false;
}
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'r';
return true;
}
else if (Tcolumn<Fcolumn)
{
for (int i = Fcolumn - 1; i > Tcolumn; i--)
{
if ((board[Trow][i] == 'R') || (board[Trow][i] == 'N') ||
(board[Trow][i] == 'B') || (board[Trow][i] == 'Q') || (board[Trow][i] == 'K') ||
(board[Trow][i] == 'P') || (board[Trow][i] == 'r') || (board[Trow][i] == 'n') ||
(board[Trow][i] == 'b') || (board[Trow][i] == 'q') || (board[Trow][i] == 'k') ||
(board[Trow][i] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'r') || (board[Trow][Tcolumn] ==
'n') || (board[Trow][Tcolumn] == 'b') || (board[Trow][Tcolumn] == 'q') ||
(board[Trow][Tcolumn] == 'k') || (board[Trow][Tcolumn] == 'p'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'r';
return true;
}
}
if (Fcolumn == Tcolumn)
{
if (Trow > Frow)
{
for (int i = Frow + 1; i < Trow; i++)
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn] ==
'N') || (board[i][Tcolumn] == 'B') || (board[i][Tcolumn] == 'Q') || (board[i]
[Tcolumn] == 'K') || (board[i][Tcolumn] == 'P') || (board[i][Tcolumn] == 'r') ||
(board[i][Tcolumn] == 'n') || (board[i][Tcolumn] == 'b') || (board[i][Tcolumn] ==
'q') || (board[i][Tcolumn] == 'k') || (board[i][Tcolumn] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'r') || (board[Trow][Tcolumn] ==
'n') || (board[Trow][Tcolumn] == 'b') || (board[Trow][Tcolumn] == 'q') ||
(board[Trow][Tcolumn] == 'k') || (board[Trow][Tcolumn] == 'p'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'r';
return true;
}
else if (Trow<Frow)
{
for (int i = Frow - 1; i > Trow; i--)
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn] ==
'N') || (board[i][Tcolumn] == 'B') || (board[i][Tcolumn] == 'Q') || (board[i]
[Tcolumn] == 'K') || (board[i][Tcolumn] == 'P') || (board[i][Tcolumn] == 'r') ||
(board[i][Tcolumn] == 'n') || (board[i][Tcolumn] == 'b') || (board[i][Tcolumn] ==
'q') || (board[i][Tcolumn] == 'k') || (board[i][Tcolumn] == 'p'))
{
return false;
}
}
if ((board[Trow][Tcolumn] == 'r') || (board[Trow][Tcolumn] ==
'n') || (board[Trow][Tcolumn] == 'b') || (board[Trow][Tcolumn] == 'q') ||
(board[Trow][Tcolumn] == 'k') || (board[Trow][Tcolumn] == 'p'))
{
return false;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'r';
return true;
}
}
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
//..................................................................//
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
//.....................................................................
.............//
if ((Frow + 1 == Trow) && (Fcolumn - 1 == Tcolumn))
{
for (int i = Tcolumn; i >= 0; i--)
{
if (board[i][Tcolumn] != ' ')
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn]
== 'Q'))
{
return false;
}
else if (board[i][Tcolumn] == 'P' || board[i]
[Tcolumn] == 'B' || board[i][Tcolumn] == 'N' || board[i][Tcolumn] == 'p' ||
board[i][Tcolumn] == 'b' || board[i][Tcolumn] == 'n')
{
break;
}
}
}
for (int i = Tcolumn; i < 8; i++)
{
if (board[i][Tcolumn] != ' ')
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn]
== 'Q'))
{
return false;
}
else if (board[i][Tcolumn] == 'P' || board[i]
[Tcolumn] == 'B' || board[i][Tcolumn] == 'N' || board[i][Tcolumn] == 'p' ||
board[i][Tcolumn] == 'b' || board[i][Tcolumn] == 'n')
{
break;
}
}
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'K';
return true;
}
}
}
bool Player2KingMove(int Frow, int Fcolumn, int Trow, int Tcolumn)
{
if (board[Trow][Tcolumn] == ' ')
{
if ((Frow - 1 == Trow) && (Fcolumn == Tcolumn))
{
for (int i = Tcolumn; i >= 0; i--)
{
if (board[i][Tcolumn] != ' ')
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn]
== 'Q'))
{
return false;
}
else if (board[i][Tcolumn] == 'P' || board[i]
[Tcolumn] == 'B' || board[i][Tcolumn] == 'N' || board[i][Tcolumn] == 'p' ||
board[i][Tcolumn] == 'b' || board[i][Tcolumn] == 'n')
{
break;
}
}
}
for (int i = Tcolumn; i < 8; i++)
{
if (board[i][Tcolumn] != ' ')
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn]
== 'Q'))
{
return false;
}
else if (board[i][Tcolumn] == 'P' || board[i]
[Tcolumn] == 'B' || board[i][Tcolumn] == 'N' || board[i][Tcolumn] == 'p' ||
board[i][Tcolumn] == 'b' || board[i][Tcolumn] == 'n')
{
break;
}
}
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//..................................................................//
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
//.....................................................................
.............//
if ((Frow + 1 == Trow) && (Fcolumn - 1 == Tcolumn))
{
for (int i = Tcolumn; i >= 0; i--)
{
if (board[i][Tcolumn] != ' ')
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn]
== 'Q'))
{
return false;
}
else if (board[i][Tcolumn] == 'P' || board[i]
[Tcolumn] == 'B' || board[i][Tcolumn] == 'N' || board[i][Tcolumn] == 'p' ||
board[i][Tcolumn] == 'b' || board[i][Tcolumn] == 'n')
{
break;
}
}
}
for (int i = Tcolumn; i < 8; i++)
{
if (board[i][Tcolumn] != ' ')
{
if ((board[i][Tcolumn] == 'R') || (board[i][Tcolumn]
== 'Q'))
{
return false;
}
else if (board[i][Tcolumn] == 'P' || board[i]
[Tcolumn] == 'B' || board[i][Tcolumn] == 'N' || board[i][Tcolumn] == 'p' ||
board[i][Tcolumn] == 'b' || board[i][Tcolumn] == 'n')
{
break;
}
}
}
//..................DIAGONAL
MOVE....................///////////////
int i = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[i][j] != ' ')
{
if ((board[i][j] == 'B') || (board[i][j] == 'Q'))
{
return false;
}
else if (board[i][j] == 'P' || board[i][j] == 'R' ||
board[i][j] == 'N' || board[i][j] == 'r' || board[i][j] == 'p' || board[i][j] ==
'b' || board[i][j] == 'n')
{
break;
}
}
i--;
}
int c = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[i][j] != ' ')
{
if ((board[c][j] == 'B') || (board[c][j] == 'Q'))
{
return false;
}
else if (board[c][j] == 'P' || board[c][j] == 'R' ||
board[c][j] == 'N' || board[c][j] == 'r' || board[c][j] == 'p' || board[c][j] ==
'b' || board[c][j] == 'n' || board[c][j] == 'q')
{
break;
}
}
c--;
}
int x = Trow;
for (int j = Tcolumn; j >= 0; j--)
{
if (board[x][j] != ' ')
{
if ((board[x][j] == 'B') || (board[x][j] == 'Q'))
{
return false;
}
else if (board[x][j] == 'P' || board[x][j] == 'R' ||
board[x][j] == 'N' || board[x][j] == 'r' || board[x][j] == 'p' || board[x][j] ==
'b' || board[x][j] == 'n' || board[x][j] == 'q')
{
break;
}
}
x++;
}
int z = Trow;
for (int j = Tcolumn; j <= 8; j++)
{
if (board[z][j] != ' ')
{
if ((board[z][j] == 'B') || (board[z][j] == 'Q'))
{
return false;
}
else if (board[z][j] == 'P' || board[z][j] == 'R' ||
board[z][j] == 'N' || board[z][j] == 'r' || board[z][j] == 'p' || board[z][j] ==
'b' || board[z][j] == 'n' || board[z][j] == 'q')
{
break;
}
}
z++;
}
board[Frow][Fcolumn] = ' ';
board[Trow][Tcolumn] = 'k';
return true;
}
}
}
void PrintChessboard()
{
int GameOver;
int column = 0;
cout << "| 1 | 2| 3| 4| 5| 6| 7| 8| C" << endl;
cout << " R" << endl;
for (int i = 0; i<8; i++)
{
cout << "| ";
for (int j = 0; j<8; j++)
{
cout << board[i][j] << " |";
}
cout <<" "<< ++column;
cout << endl;
cout << "--------------------------" << endl;
}
}
int main()
{
cout << "Enter * to End" << endl;
while (1 == 1)
{
int Frow = 0, Fcolumn = 0, Trow = 0, Tcolumn = 0;
do
{
PrintChessboard();
cout << "Player 1 Move :" << endl;
cout << "Enter Row to Move from ";
cin >> Frow;
cout << "Enter Column to Move from ";
cin >> Fcolumn;
cout << "Item at Location: [" << Frow << "][" << Fcolumn << "] :"
<< board[Frow - 1][Fcolumn - 1] << endl;
cout << "Enter Row to Move to ";
cin >> Trow;
cout << "Enter Column to Move to ";
cin >> Tcolumn;