2014-11-23 60 views
0

我使用Ncurses創建了Tic Tac Toe。有沒有在指定座標的屏幕值上打印的功能?C在ncurses中打印指定座標的值

實施例:遊戲的

結果:

XOO

OOX

XXO

然後,程序將要求用戶寫入座標。用戶寫入y = 3 x = 3,程序的響應爲O.對於x = 1的用戶響應y = 1,程序的響應爲X等。

回答

0

對於此,您不需要任何來自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

代碼未經測試,但您應該明白。

0

[mvinch(3)][1](或朋友)應該這樣做,如果你知道屏幕上的顯示位置。

但是正如@frasnian所說,在板子的狀態下使用屏幕外數據結構更傳統。

-1

所有XES OES由玩家給出:

getyx(stdscr上,Y,X); mvaddch(y,x,'X');

我沒有板子3x3。