chess

    0熱度

    1回答

    我正在學習Alpha-Beta僞代碼,我想爲Alpha Beta修剪寫一個最簡單的僞代碼。 我寫的僞代碼爲極小: function minimax(node, depth) if node is a terminal node or depth ==0 return the heuristic value of node else best = -9

    1熱度

    1回答

    的我是誰是一個棋局在的Java發展過程中遇到的問題相對沒有經驗的程序員。我創建了一個Handler class,其中包含個人作品LinkedList。我現在希望結合使用我的鼠標選擇單個件的功能,並更改它們各自的x和y座標,這是移動它們所需的。 在我MouseClicked()方法我執行for-each循環在LinkedList每Piece對象,並檢查它們各自的座標。問題發生在這裏,因爲循環執行發生

    1熱度

    1回答

    我必須爲我的OOP課程在C-builder中製作一個國際象棋程序。 (面向對象編程) 我做了一個類Piece,並在這個類中創建了一個TImage imPiece。現在我想用一個來自主類的函數爲這個圖像分配一個Event OnClick。 Piece.cpp Piece::Piece(unsigned int, unsigned int, TForm* fJoc) { imPiece

    -2熱度

    1回答

    我有一個問題。我有一個國際象棋遊戲,我想讓我的棋子隨機移動。我不知道爲什麼,但是當我移動一塊時,下一塊會移動,所以我寫了一個移動(第一部分)。在這種情況下,只有第一塊不能移動。如何解決這個問題? formaJoc.cpp //--------------------------------------------------------------------------- #include

    0熱度

    1回答

    我正在研究象棋AI,並對後來的表現有所擔憂。 現在,我的negamax樹包含了您所期望的每個遊戲狀態,儘管每個狀態都以ASCII形式存儲整個棋盤以及健身和方法。 如果我要將存儲的信息修剪到只是被移動的部分,樹會表現得更好嗎? 例如,不是存儲整個ASCII板,而是存儲「b2a2」(b2移到a2)。 謝謝。

    1熱度

    1回答

    我正在創建一個正常的國際象棋遊戲 我的國際象棋引擎有一個棋盤。該板是一個2D板[Y] [X],其內部是件。碎片是枚舉,它代表黑色碎片,白色碎片和NONE。 class ChessBoard { vector<vector<Piece>> board(); //I made it 8*8 in the constructor enum Piece{NONE, white pie

    -4熱度

    1回答

    #include<stdio.h> #include<stdlib.h> int main() { const char *chess[8][8]; //using 2 dimensional array chess[0][0] = "X"; chess[0][2] = "X"; chess[0][4] = "X"; //writing valu

    -4熱度

    1回答

    所以我試着做一盤棋和IM超近,但我不能弄清楚如何選擇一個變量使用改變: ___ =輸入() 所以下面有一個例子 x = 1 y = 2 z = 3 variable = input() #I would select x 我希望能夠選擇要更改的變量,然後選擇我希望它等於哪個變量的變量。 variable1 = input() #I would select y variable

    2熱度

    2回答

    我目前使用移位表進行移動排序。使用迭代加深搜索,我將前一次迭代的極小極大值存儲爲下一次迭代的次序移動。這很好,很好。 這裏是我的困惑: 如果我發現我的換位表中的某個位置,然後我用移動訂購先前計算的得分(從迭代深化以前的迭代)。然而,如果這個位置的分數被更新(在返回minimax之後),並且該位置在另一個子樹中被重新找到(迭代加深的相同迭代) - 我不想只用它來移動排序...我應該能夠返回該值,因爲

    0熱度

    1回答

    我必須用圖形做一個象棋遊戲,這是我的棋盤和棋子的代碼的一部分。我已經做了棋盤,現在我正在嘗試添加一個我下載的圖像的棋子。我有代碼,但我需要以某種方式將棋子圖像放入我的構建目錄中,以使棋子真正出現在棋盤上。我在Mac上使用QT創建器,無法弄清楚。 for (int x=0; x<8; ++x) { for (int y=0; y<8; ++y) { if((x+y+1)%2==