/// <summary> /// Begins the game. /// </summary> /// <returns>int</returns> public int Execute() { CoinFlipWinner coinFlipResult = CoinFlip(); Thread.Sleep(TIMER_SLEEP); Kickoff(coinFlipResult); Thread.Sleep(TIMER_SLEEP); Loop(); GetGameResults(); return(0); }
/// <summary> /// /// </summary> /// <param name="callingTeam"></param> /// <param name="nonCallingTeam"></param> /// <param name="call"></param> /// <returns></returns> public CoinFlipWinner DeterminePossession(GameAnnouncer announcer, Team callingTeam, Team nonCallingTeam, CoinFlipResult call) { CoinFlipWinner winner = new CoinFlipWinner() { Winner = callingTeam, Loser = nonCallingTeam }; if (Flip() != call) { winner.Winner = nonCallingTeam; winner.Loser = callingTeam; } announcer.ReportGameEvent(String.Format("{0}: '{1} have won the coin flip.'", announcer.Name, winner.Winner)); return(winner); }
/// <summary> /// /// </summary> /// <param name="coinFlipWinner">CoinFlipWinner</param> private void Kickoff(CoinFlipWinner coinFlipWinner) { Kickoff kickoff = new Kickoff(this.announcer, this.cc, Direction.Right, coinFlipWinner.Loser, coinFlipWinner.Winner); kickoff.Execute(); }