Home | | Syllabus | | Assignments | | Lectures | | Resources
//******************************************************** // proj4.cc // Author: A good solution writer // Date: April 11, 2014 // Class: CSCI 131 project4, Professor Royden // Purpose: Plays the game of Tic Tac Toe // Input: (from keyboard) Inputs users' desire to play // the game (again). Inputs users' moves (row and column) // Output: (to monitor) Outputs board with X's and O's in // played positions; declaration of winner; total // wins for each player and total draws. //******************************************************** #include <iostream> #include <iomanip> #include "board.h" using namespace std; int main (void) { board playingBoard; //3x3 tic-tac-toe board char answerX; //X's answer to 'want to play?' question char answerO; //O's answer to 'want to play?' question int Xwins = 0; //number of times X won int Owins = 0; //number of times O won int draws = 0; //number of times the game ended in a draw char which; //current player ('X' or 'O') int done; //true (1) if game done, otherwise 0 //Ask players if they want to play cout << "\nPlayer 1 - would you like to play tic-tac-toe? "; cin >> answerX; cout << answerX << endl; answerX = toupper( answerX ); cout << "\nPlayer 2 - would you like to play tic-tac-toe? "; cin >> answerO; cout << answerO << endl; answerO = toupper( answerO ); //Play games as long as players want to continue while (answerX == 'Y' && answerO == 'Y') { cout << "\nMoves are made by entering a row and column " << "number each\nin the range 1 to 3." << "For example, the upper left corner would be 1 1 and" << "\nthe upper right corner would be 1 3.\n\n"; //clear the board, give instructions and handle //the playing of one game (i.e. you must use function calls //to accomplish this) here, including determing if there is // a winner, incrementing any win/draw counters. ClearBoard(playingBoard ); done = 0; which = 'X'; while (!done) { GetSpot(playingBoard, which); PrintBoard(playingBoard); DetermineWinner(playingBoard, done, Xwins, Owins, draws); if (which == 'X') { //Switch players which = 'O'; } // end if (player is 'X') else { which = 'X'; } //end else (player is 'O') } //while game not done //Ask if players want to play again cout << "\nPlayer 1 - would you like to play tic-tac-toe again? "; cin >> answerX; cout << answerX << endl; answerX = toupper( answerX ); cout << "\nPlayer 2 - would you like to play tic-tac-toe? "; cin >> answerO; cout << answerO << endl; answerO = toupper( answerO ); } //while both players want to play //code to print statistics cout.setf(ios::left); cout << endl << endl; cout << setw(30) << "Number of games won by X: " << Xwins << endl; cout << setw(30) << "Number of games won by O: " << Owins << endl; cout << setw(30) << "Number of draws: " << draws << endl; cout << endl; cout << "Thank you for using this program." << endl << endl; return 0; }//end of main()
Home | | Syllabus | | Assignments | | Lectures | | Resources
Constance Royden--croyden@cs.holycross.edu
CSCI 131: Techniques of Programming
Last Modified: April 11, 2014
Page Expires: August 15, 2014