?? board.cpp
字號:
/*************************************************************************
* CS2617 Assignment 3 -- Board.cpp *
* BY Bobby Foerster Created: 03/21/01 Modified: 03/28/01 *
************************************************************************/
#include <iostream.h>
#include "Board.h"
Board::Board() //構造函數,初始化為空
{
for(int i=0; i<8; i++)
{
Rows[i] = free;
for(int j=0; j<8; j++) board[i][j] = '.';
}
for(int k=0; k<15; k++) DiagsLR[k] = DiagsRL[k] = free;
}
void Board::Print() //顯示一組排列結果
{
cout << endl;
for(int i=0; i<8; i++)
{
for(int j=0; j<8; j++)
cout << board[i][j] << ' ';
cout << endl;
}
}
bool Board::isAttacked(int row, int col) //是否沖突,是返回TRUE,否返回FALSE
{
int diagLR = col-row+7;
int diagRL = row+col;
if (Rows[row] == used || DiagsLR[diagLR] == used || DiagsRL[diagRL] == used)
return true;
return false;
}
void Board::PlaceQueen(int row, int col) //放皇后
{
int diagLR = col-row+7; //左對角線元素
int diagRL = row+col; //右對角線元素
board[row][col] = 'Q';
Rows[row] = used;
DiagsLR[diagLR] = used;
DiagsRL[diagRL] = used;
}
void Board::RemoveQueen(int row, int col) //移去皇后
{
int diagLR = col-row+7;
int diagRL = row+col;
board[row][col] = '.';
Rows[row] = free;
DiagsLR[diagLR] = free;
DiagsRL[diagRL] = free;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -