我使用Ncurses創建了Tic Tac Toe。有沒有在指定座標的屏幕值上打印的功能?C在ncurses中打印指定座標的值
實施例:遊戲的
結果:
XOO
OOX
XXO
然後,程序將要求用戶寫入座標。用戶寫入y = 3 x = 3,程序的響應爲O.對於x = 1的用戶響應y = 1,程序的響應爲X等。
我使用Ncurses創建了Tic Tac Toe。有沒有在指定座標的屏幕值上打印的功能?C在ncurses中打印指定座標的值
實施例:遊戲的
結果:
XOO
OOX
XXO
然後,程序將要求用戶寫入座標。用戶寫入y = 3 x = 3,程序的響應爲O.對於x = 1的用戶響應y = 1,程序的響應爲X等。
對於此,您不需要任何來自ncurses的信息。如果你有玩家X和O的值,你應該已經知道座標。我假設你有一個3x3數組(或某種等價物,比如std::vector<std::vector<int>>
),因爲這是遊戲的基本先決條件(狀態必須在某個地方舉行)。
比方說,你已經有了
int board[3][3];
並承擔了價值X
是1(一)和O
爲0(零)。如果他們要求x,y座標{ 3, 3 }
只是給他們:
std :: cout < <(board [coordX - 1] [coordY - 1])? 'X':'O'; //我假設數組是基於零的,因此coord - 1
代碼未經測試,但您應該明白。
[mvinch(3)][1]
(或朋友)應該這樣做,如果你知道屏幕上的顯示位置。
但是正如@frasnian所說,在板子的狀態下使用屏幕外數據結構更傳統。
所有XES OES由玩家給出:
getyx(stdscr上,Y,X); mvaddch(y,x,'X');
我沒有板子3x3。