我想學習C++並試圖製作一個簡單的TicTacToe遊戲。使用方法返回值作爲參數C++
我創建了一個Board對象。該對象包含一個多維數組來創建遊戲板。
我也創建了類Player的兩個對象。兩個對象都包含玩家的名字和符號。我爲玩家對象創建了一個方法讓玩家進行移動。他們必須輸入一個Y值和一個X值。我想在板方法中使用此值來更改多維數組。
這是方法來獲得玩家想要把自己的符號點的整數值1:
int Player::PlayerTurnX()
{
int x;
cout << "Enter the x-axe number which column you want to place your " << _symbol << ". ";
cin >> x;
while (!(x == 1 || x == 2 || x == 3)) {
cout << "Please enter a number between 1 and 3. ";
cin >> x;
return x;
}
return x;
}
這將返回一個整數值,對不對?我有同樣的Y值的方法(我不知道如何通過1方法傳遞2值,嘗試了一個數組,但無法讓它工作)。
然後我局變化的方法是這樣的:
void Board::AddPlayersTurn(int spoty, int spotx, char symbol) {
int y = spoty;
int x = spotx;
string symbol1 = to_string(symbol);
_boardSpots[y][x] = " " + symbol1 + " ";
}
那麼唯一剩下的調用方法。我要使用的X和Y的方法作爲參數用於我的板變化的方法:
Board1.AddPlayersTurn(Player1.PlayerTurnY, Player1.PlayerTurnX, Player1.GetSymbol());
Board1.printBoard();
printBoard()是它打印命令提示的簡單方法。
我在嘗試這樣做時,這個錯誤:
'Player::PlayerTurnY': non-standard syntax; use '&' to create a pointer to member
與同爲X值。
任何幫助,將不勝感激!
問候。
也許使用'Player1.PlayerTurnX()'...這是你正在調用的函數! – simpel01