// Stephen Bassoli // CSE 124 Section 1 // Lab 2 #include #include #include "Board.h" int main() { int C; // Column Number char R, again; // R is row letter, again plays game again int Row; // Row NUMBER int Score = 0; // Game score int Three, Four, Five; // Types of ships bool Sentinel = false; // Determines termination of loop bool RepeatGame = false; // Determines if the game is repeated Board GameBoard; // The game board do { cout << "How many ships with a length of three would you like? "; cin >> Three; cout << "How many ships with a length of four would you like? "; cin >> Four; cout << "How many ships with a length of five would you like? "; cin >> Five; GameBoard.Place(Three, Four, Five); do { GameBoard.PrintBoard(); do { cout << "Your Score: " << Score << "\tShips Left: " << GameBoard.ReturnShipsLeft() << endl; cout << "Enter the row letter followed by the column number: "; cin >> R >> C; Row = tolower(R); } while(!((R >= 'a')&&(R <= 'l')&&(C >= 1)&&(C <= 12))); Row -= 97; C -= 1; if (GameBoard.Mark(Row,C)) { if (GameBoard.IsHit(Row,C)) { cout << "YOU HIT A SHIP!\n"; if (GameBoard.IsSink()) { if (GameBoard.IsWin()) { cout << "YOU HAVE WON! Your final score: " << Score << endl; Sentinel = true; } } } else Score++; } else cout << endl << "There is already a mark there\n"; }while (!Sentinel); do { cout << "Would you like to play again? (y/n) "; cin >> again; cin.ignore(256,'\n'); } while (!(again == 'y')&&!(again == 'n')); if (again == 'y') { GameBoard.Clear(); Sentinel = false; RepeatGame = true; Board GameBoard; } else if (again == 'n') RepeatGame = false; } while (RepeatGame); return 0; }