Пример #1
0
 /// <summary>
 /// This is called after all contents have been loaded
 /// </summary>
 private void secondInitialize()
 {
     //construct rooms
     _warRoom     = new WarRoom();
     _waitingRoom = new WaitingRoom();
     _endGameRoom = new EndGameRoom();
     //_currentRoom = _warRoom;
     _currentRoom = _waitingRoom;
     playWaitSong();
     _waitingRoom.startGameCallback = goToWarRoom;
     _warRoom.endGameCallback       = goToEndRoom;
 }
Пример #2
0
        public async static Task run(HttpClient client)
        {
            IApiClient  apiClient = new ApiClient(client);
            IGameAccess newAccess = await GameAccess.Create(apiClient, "Pinky and the Brain");

            WarRoom board = new WarRoom(newAccess);

            Console.WriteLine($"Game: {newAccess.GameId}");

            int waitCount = 0;

            while (waitCount < 10)
            {
                TurnStatus state = await board.TakeTurn();

                switch (state)
                {
                case TurnStatus.TookTurn:
                    Console.WriteLine("And so my watch has ended (for now)");
                    waitCount = 0;
                    break;

                case TurnStatus.Waiting:
                    Console.WriteLine("Waits patiently...");
                    waitCount++;
                    break;

                case TurnStatus.LostGame:
                    Console.WriteLine($"Valar Morghulis");
                    return;

                case TurnStatus.WonGame:
                    Console.WriteLine($"Hail to the King!");
                    return;

                default:
                    Console.WriteLine("Status Unavailable");
                    break;
                }

                Thread.Sleep(1000); //optimize
            }
        }
Пример #3
0
 public WarRoomTests()
 {
     mockClient = new Mock <IApiClient>();
     mockAccess = new Mock <IGameAccess>();
     board      = new WarRoom(mockAccess.Object);
 }