I have a function to return bool:
bool restart() { std::string answer; bool answered = false; while(answered == false) { cout << endl << endl << "Do you want to play again? y/n : "; cin >> answer; if(answer == "y" || answer == "Y" || answer == "1" || answer == "yes") {return true;} if(answer == "n" || answer == "N" || answer == "0" || answer == "no") {return false;} } }
When I call it using:
cout << restart();
I get the output:
Do you want to play again? y/n : y 56
Can anyone understand how to fix this strange problem? Thanks in advance.
My WIP code as of now:
#include <iostream> #include <cstdlib> using namespace std; void drawScreen(int grid[3][3]); // int movef(int grid[3][3], bool playersMove); int updateGrid(int grid[3][3], int move, bool playersMove); bool hasWon(int grid[3][3]); bool swapMover(bool playersMove); // bool restart(); void endGame(); int main() { int grid[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; bool appRunning = true, gameRunning = true, playersMove = true; int move; // tests // std::cout << restart(); // tests // //while(appRunning == true) //{ // while(gameRunning == true) // { // drawScreen(grid); // move = movef(grid, playersMove); // grid[3][3] = updateGrid(grid, move, playersMove); // drawScreen(grid); // gameRunning = hasWon(grid); // playersMove = swapMover(playersMove); // } // appRunning = restart(); //} //endGame(); } void drawScreen(int grid[3][3]) { for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { if(grid[i][j] == 10){cout << "X ";if(j == 2){cout << endl << endl;}} if(grid[i][j] == 11){cout << "O ";if(j == 2){cout << endl << endl;}} if(grid[i][j] != 10 && grid[i][j] != 11){cout << grid[i][j] << " "; if(j == 2){cout << endl << endl;}} } } } int movef(int grid[3][3], bool playersMove) { return 0; } int updateGrid(int grid[3][3], int move, bool playersMove) { return 0; } bool hasWon(int grid[3][3]) { return false; } bool swapMover(bool playersMove) { if(playersMove == true){return false;} if(playersMove == false){return true;} } bool restart() { std::string answer; bool answered = false; while(answered == false) { cout << endl << endl << "Do you want to play again? y/n : "; cin >> answer; if(answer == "y" || answer == "Y" || answer == "1" || answer == "yes") {return true;} if(answer == "n" || answer == "N" || answer == "0" || answer == "no") {return false;} } } void endGame() { }
jw1294
source share