public void Start() { GameSetup GameSetup = new GameSetup(gm); GameSetup.Setup(); do { GameSetup.SetBoard(); FireShotResponse shotresponse; do { ControlOutput.ResetScreen(new Player[] { gm.Player1, gm.Player2 }); ControlOutput.ShowWhoseTurn(gm.IsPlayer1 ? gm.Player1 : gm.Player2); ControlOutput.DrawHistory(gm.IsPlayer1 ? gm.Player2 : gm.Player1); Coordinate ShotPoint = new Coordinate(1, 1); shotresponse = Shot(gm.IsPlayer1 ? gm.Player2 : gm.Player1, gm.IsPlayer1 ? gm.Player1 : gm.Player2, out ShotPoint); ControlOutput.ResetScreen(new Player[] { gm.Player1, gm.Player2 }); ControlOutput.ShowWhoseTurn(gm.IsPlayer1 ? gm.Player1 : gm.Player2); ControlOutput.DrawHistory(gm.IsPlayer1 ? gm.Player2 : gm.Player1); ControlOutput.ShowShotResult(shotresponse, ShotPoint, gm.IsPlayer1 ? gm.Player1.Name : gm.Player2.Name); if (shotresponse.ShotStatus != ShotStatus.Victory) { Console.WriteLine("Press any key to continue to switch to " + (gm.IsPlayer1 ? gm.Player2.Name : gm.Player1.Name)); gm.IsPlayer1 = !gm.IsPlayer1; Console.ReadKey(); } } while (shotresponse.ShotStatus != ShotStatus.Victory); } while (ControlInput.CheckQuit()); }
public void SetBoard() { ControlOutput.ResetScreen(new Player[] { _gm.Player1, _gm.Player2 }); _gm.IsPlayer1 = Responses.GetRandom.WhoseFirst(); _gm.Player1.PlayerBoard = new Board(); PlaceShipOnBoard(_gm.Player1); ControlOutput.ResetScreen(new Player[] { _gm.Player1, _gm.Player2 }); _gm.Player2.PlayerBoard = new Board(); PlaceShipOnBoard(_gm.Player2); Console.WriteLine("All ship were placed successfull! Press any key to continue..."); Console.ReadKey(); }