Exemple #1
0
        public async Task StaticCreateSavesGameResultsInternally()
        {
            HttpResponseMessage createdResponse = new HttpResponseMessage(HttpStatusCode.OK);

            createdResponse.Content = new StringContent("{\"game\":1, \"player\":2, \"token\":\"sometokenvalue\"}");
            mockClient.Setup(c => c.Post("/v1/brisk/game", It.IsAny <HttpContent>())).ReturnsAsync(createdResponse);

            IGameAccess actual = await GameAccess.Create(mockClient.Object, "Test Tanks");

            Assert.Equal <int>(1, actual.GameId);
            Assert.Equal("sometokenvalue", actual.Token);
            Assert.Equal <int>(2, actual.CurrentPlayer);
        }
Exemple #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
            }
        }
Exemple #3
0
 public WarRoom(IGameAccess newAccess)
 {
     access = newAccess;
 }
 public GamePlayBusiness(IGameAccess gameAccess)
 {
     _gameAccess = gameAccess;
 }