コード例 #1
0
        public void SetupTests()
        {
            using (var repository = new TelephoneGameRepository())
            {
                _player1 = GameService.FindPlayer("15022967010", repository);
                _newGame = GameService.CreateNewGame<TwoPlayersOriginal>(_player1, repository);
                Assert.That(null != _newGame, "Game not created");

                _player2 = GameService.FindPlayer("15022967466", repository);
                GameService.AddPlayerToGame(_player2, _newGame, repository);
            }
        }
コード例 #2
0
 internal GameStateNode GetNextGameState(Game game, int currentNodeId, int edgeId)
 {
     try
     {
         GameStateNode node = nodes[currentNodeId];
         EdgeConditional edge = node.edgeConditionals.First<EdgeConditional>(e => e.id == edgeId);
         return edge.nextNode;
     }
     catch (Exception ex)
     {
         throw new Exception(string.Format("Could not get next GameStateNode.  Node id: {0} edge id: {1}", currentNodeId, edgeId), ex);
     }
 }
コード例 #3
0
        public void SetupTests()
        {
            using (var repository = new TelephoneGameRepository())
            {
                _player1 = GameService.FindPlayer("15022967010", repository);
                _newGame = GameService.CreateNewGame<TwoPlayersOriginal>(_player1, repository);
                Assert.That(null != _newGame, "Game not created");

                EdgeConditional edge = _newGame.Edges.First<EdgeConditional>(e => e.nextNode.GetType().Name.Equals("PickPlayer"));

                Assert.That(GameService.TransitionGameState(_newGame, edge, repository), "Transition failed");

                _player2 = GameService.FindPlayer("15022967466", repository);
                GameService.AddPlayerToGame(_player2, _newGame, repository);

            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: vfridell/PhoneGameService
 static void Choices(Game game, TelephoneGameRepository repository)
 {
     bool success = false;
     while (!success)
     {
         int choice = -1;
         while (-1 == choice)
         {
             foreach (EdgeConditional edge in game.Edges)
             {
                 Console.WriteLine(string.Format("{0}: {1}", edge.id, edge.text));
             }
             Console.WriteLine("Choose: ");
             int.TryParse(Console.ReadLine(), out choice);
         }
         EdgeConditional chosenEdge = game.Edges.First<EdgeConditional>(e => e.id.Equals(choice));
         success = GameService.TransitionGameState(game, chosenEdge, repository);
         if (!success) Console.WriteLine("Could not transition state");
     }
 }
コード例 #5
0
        public void SetupTests()
        {
            using (var repository = new TelephoneGameRepository())
            {
                bool success;

                _player1 = GameService.FindPlayer("15022967010", repository);
                _newGame = GameService.CreateNewGame<TwoPlayersOriginal>(_player1, repository);
                Assert.That(null != _newGame, "Game not created");

                success = GameService.TransitionGameState(_newGame, _newGame.Edges[0], repository);
                Assert.That(success, string.Format("Couldn't transition to {0}", _newGame.Edges[0].nextNode.routeName));

                _player2 = GameService.FindPlayer("15022967466", repository);
                GameService.AddPlayerToGame(_player2, _newGame, repository);
                Assert.That(_newGame.enoughPlayers, "not enough players added");

                success = GameService.TransitionGameState(_newGame, _newGame.Edges[0], repository);
                Assert.That(success, string.Format("Couldn't transition to {0}", _newGame.Edges[0].nextNode.routeName));
            }
        }
コード例 #6
0
 internal bool TryGetNextGameState(Game game, int currentNodeId, int edgeId, out GameStateNode nextNode)
 {
     try
     {
         GameStateNode node = nodes[currentNodeId];
         EdgeConditional edge = node.edgeConditionals.First<EdgeConditional>(e => e.id == edgeId);
         nextNode = edge.nextNode;
         return true;
     }
     catch (Exception ex)
     {
         nextNode = null;
         return false;
     }
 }
コード例 #7
0
        public void SetupTests()
        {
            using (var repository = new TelephoneGameRepository())
            {
                _player1 = GameService.FindPlayer("15022967010", repository);
                _player2 = GameService.FindPlayer("15022967466", repository);

                _game1 = GameService.CreateNewGame<TestingGameType>(_player1, repository);
                _game2 = GameService.CreateNewGame<TestingGameType>(_player1, repository);
                _game3 = GameService.CreateNewGame<TestingGameType>(_player1, repository);
                _game4 = GameService.CreateNewGame<TestingGameType>(_player1, repository);
                _game5 = GameService.CreateNewGame<TestingGameType>(_player1, repository);
                _game6 = GameService.CreateNewGame<TestingGameType>(_player1, repository);

                Assert.That(null != _game1, "Game1 not created");
                Assert.That(null != _game2, "Game2 not created");
                Assert.That(null != _game3, "Game3 not created");
                Assert.That(null != _game4, "Game4 not created");
                Assert.That(null != _game5, "Game4 not created");
                Assert.That(null != _game6, "Game4 not created");
            }
        }