int chessBoard(int tr,int tc,int dr,int dc,int size) { if (size == 1) return 0; int t=tile++; int s=size/2; if (dr < tr + s && dc < tc + s) chessBoard(tr, tc, dr, dc, s); else { board[tr + s - 1][tc + s - 1] = t; chessBoard(tr, tc, tr+s-1, tc+s-1, s); } if (dr < tr + s && dc >= tc + s) chessBoard(tr, tc+s, dr, dc, s); else { board[tr + s - 1][tc + s] = t; chessBoard(tr,tc+s,tr+s-1,tc+s, s); } if (dr >= tr + s && dc < tc + s) chessBoard(tr+s, tc, dr, dc, s); else { board[tr + s][tc + s - 1] = t; chessBoard(tr+s, tc, tr+s, tc+s-1, s); } if (dr >= tr + s && dc >= tc + s) chessBoard(tr+s, tc+s, dr, dc, s); else { board[tr + s][tc + s] = t; chessBoard(tr+s, tc+s, tr+s, tc+s, s); } }
void makeGameBoard() { GameBoard chessBoard(8, 8); ChessPiece pawn; chessBoard.setPieceAt(0, 0, &pawn); }
int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *myWidget = new QWidget(); myWidget->setGeometry(0,0,1370,700); accessories(myWidget); chessBoard(myWidget,tile); myWidget->show(); return a.exec(); }
int main() { GameBoard chessBoard(8, 8); auto pawn = std::make_unique<ChessPiece>(); chessBoard.at(0, 0) = std::move(pawn); chessBoard.at(0, 1) = std::make_unique<ChessPiece>(); chessBoard.at(0, 1) = nullptr; GameBoard board2; board2 = chessBoard; processGameBoard(board2); return 0; }
int main() { GameBoard chessBoard(8, 8); ChessPiece pawn; chessBoard.setPieceAt(0, 0, &pawn); chessBoard.setPieceAt(0, 1, chessBoard.getPieceAt(0, 0)); GameBoard board2; board2 = chessBoard; processGameBoard(board2); return 0; }
int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *myWidget = new QWidget(); myWidget->setGeometry(0,0,1370,700); myWidget->setStyleSheet("background-image: url(:/Images/KoreanPaintingBackground.jpg)"); //myWidget->setAutoFillBackground(true); accessories(myWidget); chessBoard(myWidget,tile); myWidget->show(); return a.exec(); }
int main() { Chess chessBoard(15, 15); /** 测试:初始化 for(int i = 0; i <= 16; i ++, printf("\n")) { for(int j = 0; j <= 16; j ++) printf("%d ", chessBoard.chess[i][j]); } */ chessBoard.chess[4][5] = 1; chessBoard.chess[4][4] = 1; chessBoard.chess[4][3] = 1; chessBoard.chess[3][3] = -1; chessBoard.chess[4][2] = 1; chessBoard.chess[10][4] = -1; chessBoard.chess[10][5] = -1; chessBoard.chess[10][6] = -1; chessBoard.set_AIColor(1); chessBoard.set_AIStyle(0); /** 测试: 估分函数. printf("AICOLOR: %d\n", chessBoard.get_AIColor()); for(int i = 1; i <= 15; i ++, printf("\n")) { for(int j = 1; j <= 15; j ++) { chessBoard.cal_continous(Step(1, i, j)); printf("%d ", chessBoard.cal_score(Step(1, i, j))); } } Step st = chessBoard.AI_simple(); printf("%d %d\n", st.get_X(), st.get_Y()); */ chessBoard.AI_secondary(); //printf("*********"); //chessBoard.AI_simple(); }
int main() { int n,x,y,size,i,j; scanf("%d%d%d",&n,&x,&y); size=1; while(n) { n--; size*=2; } chessBoard(0,0,x-1,y-1,size); for(i=0;i<size;i++) { for (j=0;j<size;j++) printf("%3d ",board[i][j]); printf("\n"); } system("pause"); }
int chessBoard(int tr,int tc,int dr,int dc,int size) { if (size == 1) return 0; int t = tile++; // Lпм╧геф╨е int s = size/2; // ╥ж╦НфЕел // ╦╡╦гвСио╫гвсфЕел if (dr < tr + s && dc < tc + s) // льйБ╥╫╦Ятз╢кфЕелжп chessBoard(tr, tc, dr, dc, s); else {// ╢кфЕелжпнчльйБ╥╫╦Я // сц t ╨еLпм╧геф╦╡╦гсроб╫г board[tr + s - 1][tc + s - 1] = t; // ╦╡╦гфДсЮ╥╫╦Я chessBoard(tr, tc, tr+s-1, tc+s-1, s);} // ╦╡╦гсрио╫гвсфЕел if (dr < tr + s && dc >= tc + s) // льйБ╥╫╦Ятз╢кфЕелжп chessBoard(tr, tc+s, dr, dc, s); else {// ╢кфЕелжпнчльйБ╥╫╦Я // сц t ╨еLпм╧геф╦╡╦гвСоб╫г board[tr + s - 1][tc + s] = t; // ╦╡╦гфДсЮ╥╫╦Я chessBoard(tr,tc+s,tr+s-1,tc+s, s);} if (dr >= tr + s && dc < tc + s) // льйБ╥╫╦Ятз╢кфЕелжп chessBoard(tr+s, tc, dr, dc, s); else {// сц t ╨еLпм╧геф╦╡╦гсрио╫г board[tr + s][tc + s - 1] = t; // ╦╡╦гфДсЮ╥╫╦Я chessBoard(tr+s, tc, tr+s, tc+s-1, s);} // ╦╡╦гсроб╫гвсфЕел if (dr >= tr + s && dc >= tc + s) // льйБ╥╫╦Ятз╢кфЕелжп chessBoard(tr+s, tc+s, dr, dc, s); else {// сц t ╨еLпм╧геф╦╡╦гвСио╫г board[tr + s][tc + s] = t; // ╦╡╦гфДсЮ╥╫╦Я chessBoard(tr+s, tc+s, tr+s, tc+s, s);} }