public int Run() { ConsoleKeyInfo keyInfo; UpdateStatus updateStatus = UpdateStatus.None; do { updateStatus = UpdateStatus.None; CurrentGameViewControler.Draw(CurrentGameData, CurrentPlayerData); while (!Console.KeyAvailable) { Thread.Yield(); } keyInfo = Console.ReadKey(true); updateStatus = CurrentGameViewControler.ProcessGameKeyPress(keyInfo.Key); switch (updateStatus) { case UpdateStatus.Error: CurrentGameViewControler.ShowError(); break; case UpdateStatus.Hit: CurrentGameViewControler.ShowHit(); break; case UpdateStatus.ShowHelp: CurrentDisplayedView = GameViews.HelpView; CurrentGameViewControler = new HelpViewControler(); break; case UpdateStatus.ShowSettings: CurrentDisplayedView = GameViews.SettingsView; CurrentGameViewControler = new SettingsViewControler(); break; case UpdateStatus.Reset: Reset(); CurrentDisplayedView = GameViews.GameView; CurrentGameViewControler = GameViewControler; CurrentGameViewControler.ShowHit(); break; case UpdateStatus.Close: CurrentDisplayedView = GameViews.GameView; CurrentGameViewControler = GameViewControler; break; } } while (updateStatus != UpdateStatus.Terminate); return(0); }
public void Init(IPlayerControler playerControler, IGameViewControler gameViewControler, GameSettings settings) { CurrentDisplayedView = GameViews.GameView; CurrentPlayerControler = playerControler; GameViewControler = gameViewControler; CurrentGameViewControler = GameViewControler; CurrentGameSettings = settings; CurrentGameData = BoardGenerationControler.Create(CurrentGameSettings); Reset(); }
public static void Initialize() { PlayerSettings = Resources.Load <PlayerSettings>("PlayerSettings"); GameViews = Resources.Load <GameViews>("GameViews"); }