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);
    }
}
예제 #2
0
void makeGameBoard() {
    GameBoard chessBoard(8, 8);
    
    ChessPiece pawn;
    
    chessBoard.setPieceAt(0, 0, &pawn);
}
예제 #3
0
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;
}
예제 #6
0
파일: main.cpp 프로젝트: petersung21/Janggi
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();
}
예제 #7
0
파일: RJC.cpp 프로젝트: ma0otong/ChessPro
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();

}
예제 #8
0
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");
}
예제 #9
0
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);}
}