Ejemplo n.º 1
0
 public virtual void Setup()
 {
     Parameters = GameParameters.Load();
     Dispatcher = EventsDispatcher.Load();
     GameData   = GameData.Load();
     Dispatcher.AddListener(this);
     Controller = new GameObject("MockFsmController").AddComponent <MockFsmController>();
     Controller.Awake();
     GameData.Initialize(Controller);
 }
Ejemplo n.º 2
0
        public static Game LoadReport(string filename, int rollback = 0, SearchParameters searchParameters = null)
        {
            using (var stream = new FileStream(filename, FileMode.Open))
            {
                var saveGameFile = SavedGames.ReadFromStream(stream);

                var gameParameters = GameParameters.Load(
                    player1Controller: PlayerType.Machine,
                    player2Controller: PlayerType.Machine,
                    savedGame: (SavedGame)saveGameFile.Data,
                    rollback: rollback,
                    searchParameters: searchParameters);

                return(new Game(gameParameters));
            }
        }
Ejemplo n.º 3
0
        public virtual void Setup()
        {
            Parameters = GameParameters.Load();
            Dispatcher = EventsDispatcher.Load();
            GameData   = GameData.Load();
            Dispatcher.AddListener(this);
            Controller = new GameObject("MockFsmController").AddComponent <MockFsmController>();
            Controller.Awake();

            var localPlayerSeat  = Parameters.Profiles.localPlayer.seat;
            var remotePlayerSeat = Parameters.Profiles.remotePlayer.seat;

            var localPlayer  = new Player(0, localPlayerSeat, Parameters, Dispatcher);
            var remotePlayer = new Player(1, remotePlayerSeat, Parameters, Dispatcher);

            GameData.CreateGame(Controller, localPlayer, remotePlayer);
        }
Ejemplo n.º 4
0
        public void Save()
        {
            var game      = SimulateGame();
            var savedGame = game.Save();

            var p = GameParameters.Load(
                player1Controller: PlayerType.Machine,
                player2Controller: PlayerType.Machine,
                savedGame: savedGame);

            var game1 = new Game(p);

            // 2 games will be equal only if game is in exact same state
            // load game only loads the game up to the last decision recorded
            // resume the game until state count is equal
            game1.Simulate(() => game1.Turn.StateCount < game.Turn.StateCount);

            // hash depends on card visibility, visibility depends
            // on who the searching player is.
            game.Players.Searching  = game.Players.Player1;
            game1.Players.Searching = game1.Players.Player1;

            Assert.Equal(game.CalculateHash(), game1.CalculateHash());
        }
Ejemplo n.º 5
0
 public void LoadGameParameters() => Assert.IsTrue(GameParameters.Load() != null);