예제 #1
0
 public static List <property> ConvertToPropertyList(this IGameStats igs)
 {
     return(typeof(IGameStats).GetProperties().Select(p => new property()
     {
         name = p.Name, value = p.GetValue(igs, null).ToString()
     }).ToList());
 }
예제 #2
0
 public Handler(IGameStats gameStats, IGameSoundPlayer gameSoundPlayer, IPacMan pacman, IMediator mediator)
 {
     _gameStats       = gameStats;
     _gameSoundPlayer = gameSoundPlayer;
     _pacman          = pacman;
     _mediator        = mediator;
 }
예제 #3
0
        public IGameStats GetStats()
        {
            if (_indexList.Count == 0)
            {
                return(new blank());
            }

            IGameStats stats = null;

            while (null == (stats = _game.RetrieveStats(_process, _indexList[_index])))
            {
                _indexList.Remove(_indexList[_index]);
                if (_indexList.Count == 0)
                {
                    break;
                }
                if (_index > _indexList.Count - 1)
                {
                    _index--;
                }
                if (_index < 0)
                {
                    break;
                }
            }
            if (stats == null)
            {
                return(new blank());
            }
            return(stats);
        }
예제 #4
0
 public Blinky(IGameStats gameStats, IMediator mediator, IMaze maze, IPacMan pacman, IHumanInterfaceParser input) : base(
         gameStats,
         mediator,
         input,
         pacman,
         GhostNickname.Blinky,
         maze,
예제 #5
0
 public Handler(IGame game, IGameStats gameStats, IMediator mediator, IGameStorage storage)
 {
     _game      = game;
     _gameStats = gameStats;
     _mediator  = mediator;
     _storage   = storage;
 }
예제 #6
0
 public StatusPanel(IGameStats gameStats, ICoinBox coinBox)
 {
     _gameStats = gameStats;
     _coinBox   = coinBox;
     // ReSharper disable once HeapView.ObjectAllocation.Evident
     _timer = new LoopingTimer(250.Milliseconds(), () => _tickTock = !_tickTock);
     // ReSharper disable once HeapView.ObjectAllocation.Evident
     _fruit = new SimpleFruit();
 }
예제 #7
0
            public Handler(IMediator mediator, IGame game, IGameStats gameStats, IHaveTheMazeCanvases mazeCanvases)
            {
                _mediator = mediator;

                _game = game;

                _gameStats = gameStats;

                _mazeCanvases = mazeCanvases;
            }
예제 #8
0
 public ScorePanel(IGameStats gameStats)
 {
     _gameStats = gameStats;
     // ReSharper disable HeapView.ObjectAllocation.Evident
     // ReSharper disable HeapView.DelegateAllocation
     _timer      = new LoopingTimer(250.Milliseconds(), () => _tickTock = !_tickTock);
     _trialTimer = new LoopingTimer(2.Seconds(), () => _trialTickTock = !_trialTickTock);
     // ReSharper restore HeapView.DelegateAllocation
     // ReSharper restore HeapView.ObjectAllocation.Evident
 }
예제 #9
0
 public Handler(IGameStats gameStats,
                IMediator mediator,
                ICoinBox coinBox,
                IHaveTheMazeCanvases mazeCanvases)
 {
     _gameStats    = gameStats;
     _mediator     = mediator;
     _coinBox      = coinBox;
     _mazeCanvases = mazeCanvases;
 }
예제 #10
0
 public Handler(IGameSoundPlayer gameSoundPlayer,
                IGameStats gameStats,
                IMediator mediator,
                IHaveTheMazeCanvases mazeCanvases)
 {
     _gameSoundPlayer = gameSoundPlayer;
     _gameStats       = gameStats;
     _mediator        = mediator;
     _mazeCanvases    = mazeCanvases;
 }
예제 #11
0
 public Pinky(IGameStats gameStats, IMediator mediator, IMaze maze, IPacMan pacman, IHumanInterfaceParser input) : base(
         gameStats,
         mediator,
         input,
         pacman,
         GhostNickname.Pinky, maze, Tile.FromCell(15.5f, 11f), GameComponents.Direction.Down)
 {
     _maze       = maze;
     _pacman     = pacman;
     HouseOffset = 0;
 }
예제 #12
0
 public Game(DateTime date, int week, string homeTeam, string awayTeam, int homePoints, int awayPoints, IGameStats homeStats, IGameStats awayStats)
 {
     this.Date       = date;
     this.Week       = week;
     this.HomeTeam   = homeTeam;
     this.AwayTeam   = awayTeam;
     this.HomePoints = homePoints;
     this.AwayPoints = awayPoints;
     this.HomeStats  = homeStats;
     this.AwayStats  = awayStats;
 }
예제 #13
0
 public Handler(IGame game,
                IGameStats gameStats,
                IGameSoundPlayer gameSoundPlayer,
                IMediator mediator,
                IGhostCollection ghostCollection)
 {
     _game            = game;
     _gameStats       = gameStats;
     _gameSoundPlayer = gameSoundPlayer;
     _mediator        = mediator;
     _ghostCollection = ghostCollection;
 }
예제 #14
0
        public Clyde(IGameStats gameStats, IMediator mediator, IMaze maze, IPacMan pacman, IHumanInterfaceParser input) :
            base(
                gameStats,
                mediator,
                input,
                pacman,
                GhostNickname.Clyde, maze, new Vector2(11.5f, 12), GameComponents.Directions.Up)
        {
            _maze   = maze;
            _pacman = pacman;

            HouseOffset = 1;
        }
예제 #15
0
        public Inky(IGameStats gameStats, IMediator mediator, IMaze maze, IPacMan pacman, IHumanInterfaceParser input) :
            base(
                gameStats,
                mediator,
                input,
                pacman,
                GhostNickname.Inky, maze, Tile.FromCell(15.5f, 11), GameComponents.Directions.Up)
        {
            _mediator   = mediator;
            _maze       = maze;
            _pacman     = pacman;
            HouseOffset = -1;

            _getBlinkyRequest = new GetBlinkyRequest();
        }
예제 #16
0
 public Blinky(IGameStats gameStats, IMediator mediator, IMaze maze, IPacMan pacman, IHumanInterfaceParser input) :
     base(
         gameStats,
         mediator,
         input,
         pacman,
         GhostNickname.Blinky,
         maze,
         new Vector2(13.5f, 11),
         GameComponents.Directions.Left)
 {
     _pacman        = pacman;
     HouseOffset    = 0;
     _scatterTarget = new ValueTask <CellIndex>(new CellIndex(25, 0));
 }
예제 #17
0
 public PlayerIntroAct(IMediator mediator,
                       IGhostCollection ghostCollection,
                       IGameStats gameStats,
                       IGameSoundPlayer gameSoundPlayer,
                       IPacMan pacman,
                       IMaze maze,
                       IGame game)
 {
     _mediator        = mediator;
     _ghostCollection = ghostCollection;
     _gameStats       = gameStats;
     _gameSoundPlayer = gameSoundPlayer;
     _pacman          = pacman;
     _maze            = maze;
     _game            = game;
 }
예제 #18
0
 public DemoAct(
     IMediator mediator,
     IFruit fruit,
     IMaze maze,
     IPacMan pacman,
     IGhostCollection ghostCollection,
     IHumanInterfaceParser input,
     IGameStats gameStats)
 {
     _mediator        = mediator;
     _fruit           = fruit;
     _maze            = maze;
     _pacman          = pacman;
     _ghostCollection = ghostCollection;
     _input           = input;
     _gameStats       = gameStats;
 }
예제 #19
0
 public Handler(IGhostCollection ghostCollection,
                IFruit fruit,
                IMaze maze,
                IPacMan pacman,
                IGame game,
                IActs acts,
                IGameStats gameStats,
                IHaveTheMazeCanvases mazeCanvases)
 {
     _mazeCanvases    = mazeCanvases;
     _ghostCollection = ghostCollection;
     _fruit           = fruit;
     _maze            = maze;
     _pacman          = pacman;
     _game            = game;
     _acts            = acts;
     _gameStats       = gameStats;
 }
예제 #20
0
 protected Ghost(
     IGameStats gameStats,
     IMediator mediator,
     IHumanInterfaceParser input,
     IPacMan pacman,
     GhostNickname nickName,
     IMaze maze,
     Vector2 startingPoint,
     Direction startingDirection) : base(nickName, startingDirection)
 {
     _gameStats         = gameStats;
     _mediator          = mediator;
     _input             = input;
     _maze              = maze;
     _pacman            = pacman;
     _startingPoint     = startingPoint;
     _startingDirection = startingDirection;
     Tile = new();
 }
예제 #21
0
 public GameAct(
     ICoinBox coinBox,
     IMediator mediator,
     IHumanInterfaceParser input,
     IGameSoundPlayer gameSoundPlayer,
     IGameStats gameStats,
     IGhostCollection ghostCollection,
     IMaze maze,
     IPacMan pacman,
     IFruit fruit)
 {
     _coinBox         = coinBox;
     _mediator        = mediator;
     _input           = input;
     _gameSoundPlayer = gameSoundPlayer;
     _gameStats       = gameStats;
     _ghostCollection = ghostCollection;
     _maze            = maze;
     _pacman          = pacman;
     _fruit           = fruit;
 }
예제 #22
0
 public PlayerGameOverAct(IMediator mediator, IGameStats gameStats)
 {
     _mediator  = mediator;
     _gameStats = gameStats;
 }
예제 #23
0
        public void GameStats_Constructor()
        {
            ITeam team = this.NFL.GetTeam("NO");

            switch (this.LeagueDataFile.StripPath())
            {
            case "NFL_2016.xml":
                IGame      oakGame    = team.Games.Single(g => g.AwayTeam == "OAK");
                IGameStats nooakStats = oakGame.HomeStats;
                IGameStats oakStats   = oakGame.AwayStats;
                Assert.AreEqual(2, nooakStats.FieldGoals);
                Assert.AreEqual(27, nooakStats.FirstDowns);
                Assert.AreEqual(419, nooakStats.PassingYards);
                Assert.AreEqual(7, nooakStats.Penalties);
                Assert.AreEqual(53, nooakStats.PenaltyYards);
                Assert.AreEqual(2, nooakStats.Punts);
                Assert.AreEqual(95, nooakStats.PuntYards);
                Assert.AreEqual(88, nooakStats.RushingYards);
                Assert.AreEqual("00:29:35", nooakStats.TimeOfPosession.ToString());
                Assert.AreEqual(4, nooakStats.Touchdowns);
                Assert.AreEqual(4, nooakStats.TouchdownsAllowed);
                Assert.AreEqual(1, nooakStats.Turnovers);

                Assert.AreEqual(2, oakStats.FieldGoals);
                Assert.AreEqual(25, oakStats.FirstDowns);
                Assert.AreEqual(319, oakStats.PassingYards);
                Assert.AreEqual(14, oakStats.Penalties);
                Assert.AreEqual(141, oakStats.PenaltyYards);
                Assert.AreEqual(4, oakStats.Punts);
                Assert.AreEqual(199, oakStats.PuntYards);
                Assert.AreEqual(167, oakStats.RushingYards);
                Assert.AreEqual("00:30:25", oakStats.TimeOfPosession.ToString());
                Assert.AreEqual(4, oakStats.Touchdowns);
                Assert.AreEqual(4, oakStats.TouchdownsAllowed);
                Assert.AreEqual(0, oakStats.Turnovers);
                break;

            case "NFL_2017.xml":
                IGame      minGame    = team.Games.Single(g => g.HomeTeam == "MIN");
                IGameStats minStats   = minGame.HomeStats;
                IGameStats nominStats = minGame.AwayStats;
                Assert.AreEqual(3, minStats.FieldGoals);
                Assert.AreEqual(23, minStats.FirstDowns);
                Assert.AreEqual(341, minStats.PassingYards);
                Assert.AreEqual(5, minStats.Penalties);
                Assert.AreEqual(50, minStats.PenaltyYards);
                Assert.AreEqual(2, minStats.Punts);
                Assert.AreEqual(87, minStats.PuntYards);
                Assert.AreEqual(129, minStats.RushingYards);
                Assert.AreEqual("00:31:16", minStats.TimeOfPosession.ToString());
                Assert.AreEqual(3, minStats.Touchdowns);
                Assert.AreEqual(1, minStats.TouchdownsAllowed);
                Assert.AreEqual(0, minStats.Turnovers);

                Assert.AreEqual(4, nominStats.FieldGoals);
                Assert.AreEqual(19, nominStats.FirstDowns);
                Assert.AreEqual(284, nominStats.PassingYards);
                Assert.AreEqual(6, nominStats.Penalties);
                Assert.AreEqual(52, nominStats.PenaltyYards);
                Assert.AreEqual(3, nominStats.Punts);
                Assert.AreEqual(171, nominStats.PuntYards);
                Assert.AreEqual(60, nominStats.RushingYards);
                Assert.AreEqual("00:28:44", nominStats.TimeOfPosession.ToString());
                Assert.AreEqual(1, nominStats.Touchdowns);
                Assert.AreEqual(3, nominStats.TouchdownsAllowed);
                Assert.AreEqual(0, nominStats.Turnovers);
                break;

            default:
                break;
            }
        }
예제 #24
0
 public Handler(IGame game, IGameStats gameStats, IMediator mediator)
 {
     _game      = game;
     _gameStats = gameStats;
     _mediator  = mediator;
 }
예제 #25
0
 public GameSoundPlayer(ISoundLoader loader, IGameStats gameStats)
 {
     _loader    = loader ?? throw new ArgumentNullException(nameof(loader));
     _gameStats = gameStats;
     _enabled   = true;
 }
예제 #26
0
 public Handler(IGameStats gameStats)
 {
     _gameStats = gameStats;
 }
예제 #27
0
 public Handler(IGame game, IGameStats gameStats, IGameSoundPlayer gameSoundPlayer)
 {
     _game            = game;
     _gameStats       = gameStats;
     _gameSoundPlayer = gameSoundPlayer;
 }
예제 #28
0
 public GameStatsController(GameStatsContext context, IGameStats gameStats)
 {
     _context   = context;
     _gameStats = gameStats;
 }