コード例 #1
0
ファイル: GameValidatorTests.cs プロジェクト: opcion1/Katas
 public void IsGameValid_WhenPinsNegative_ThrowInvalidArgument()
 {
     //Arrange
     _gameValidator = new GameValidator();
     //Assert
     Assert.Throws <ArgumentException>(() => _gameValidator.IsThrowValid(-1, null));
 }
コード例 #2
0
        static void Main(string[] args)
        {
            #region Log4NetInit

            log4net.Config.XmlConfigurator.Configure();
            ILog logger = log4net.LogManager.GetLogger(typeof(Program));

            #endregion

            try
            {
                IGameConfiguration      configuration = new GameConfiguration();
                IBoard                  board         = configuration.BoardConfiguration.GetBoard();
                List <ICoordinate>      mines         = configuration.MinesConfiguration.GetMines();
                ICoordinate             exit          = configuration.ExitConfiguration.GetExitPoint();
                IPosition               start         = configuration.StartConfiguration.GetStartPoint();
                List <List <MoveType> > moves         = configuration.MoveConfiguration.GetMoves();
                ITurtle                 turtle        = new Turtle(start);
                IGameValidator          gameValidator = new GameValidator(board, mines, exit, start, moves, turtle);

                IGame      game       = new Game(board, mines, exit, start, moves, turtle, gameValidator);
                GameResult gameResult = game.Run();

                Console.WriteLine(GetFinishInfo(gameResult));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                logger.Error(ex);
            }

            Console.ReadLine();
        }
コード例 #3
0
ファイル: GameValidatorTests.cs プロジェクト: opcion1/Katas
 public void ValidateGame_WhenPinsGreaterThan10_ThrowInvalidArgument()
 {
     //Arrange
     _gameValidator = new GameValidator();
     //Assert
     Assert.Throws <ArgumentException>(() => _gameValidator.IsThrowValid(11, null));
 }
        public void GameValidator_Valid_WhenNumberLess()
        {
            var game      = buildGame("01", "05", "09", "13", "17");
            var validator = new GameValidator(game);

            Assert.AreEqual(false, validator.valid());
        }
コード例 #5
0
 public void SetUp()
 {
     _gameValidator = new GameValidator(2);
     _players       = new Dictionary <string, IPlayer>()
     {
         { Player1, new Player(Player1) },
         { Player2, new Player(Player2) },
     };
 }
        public void GameValidator_Errors_WhenNumberLess()
        {
            var game      = buildGame("01", "05", "09", "13", "17");
            var validator = new GameValidator(game);

            validator.valid();

            Assert.AreEqual(1, validator.errors.Count());
            CollectionAssert.Contains(validator.errors.ToList(), "Sua aposta deve conter pelo menos 10 números.");
        }
        public void GameValidator_Valid_WhenTeamLess()
        {
            var game = buildGame("01", "02", "03", "04",
                                 "05", "06", "07", "08",
                                 "09", "10");

            var validator = new GameValidator(game);

            Assert.AreEqual(false, validator.valid());
        }
        public void GameValidator_Errors_WhenTeamLess_WhenNumberLess()
        {
            var game      = buildGame("01", "02", "03");
            var validator = new GameValidator(game);

            validator.valid();

            Assert.AreEqual(2, validator.errors.Count());
            CollectionAssert.Contains(validator.errors.ToList(), "Sua aposta deve conter pelo menos 10 números.");
            CollectionAssert.Contains(validator.errors.ToList(), "Você deve apostar em pelo menos 5 times.");
        }
        public void GameValidator_Valid_WhenNumberMax()
        {
            var game = buildGame("01", "05", "09", "13", "17",
                                 "21", "25", "29", "33", "37",
                                 "41", "45", "49", "53", "57",
                                 "61", "65", "69", "73", "77",
                                 "81");
            var validator = new GameValidator(game);

            Assert.AreEqual(false, validator.valid());
        }
コード例 #10
0
        public void GameValidator_Errors_WhenTeamLess()
        {
            var game = buildGame("01", "02", "03", "04",
                                 "05", "06", "07", "08",
                                 "09", "10");
            var validator = new GameValidator(game);

            validator.valid();

            Assert.AreEqual(1, validator.errors.Count());
            CollectionAssert.Contains(validator.errors.ToList(), "Você deve apostar em pelo menos 5 times.");
        }
コード例 #11
0
        public void GameValidator_Valid_WhenGameIsValid()
        {
            var game = buildGame("01", "02",
                                 "05", "06",
                                 "09", "10",
                                 "13", "14",
                                 "17", "18",
                                 "19");
            var validator = new GameValidator(game);

            Assert.AreEqual(true, validator.valid());
        }
コード例 #12
0
ファイル: GameController.cs プロジェクト: cmu-sei/gameboard
 public GameController(
     ILogger <GameController> logger,
     IDistributedCache cache,
     GameService gameService,
     GameValidator validator,
     CoreOptions options,
     IHostEnvironment env
     ) : base(logger, cache, validator)
 {
     GameService = gameService;
     Options     = options;
     Env         = env;
 }
コード例 #13
0
        public void GameValidator_Errors_WhenNumberMax()
        {
            var game = buildGame("01", "05", "09", "13", "17",
                                 "21", "25", "29", "33", "37",
                                 "41", "45", "49", "53", "57",
                                 "61", "65", "69", "73", "77",
                                 "81");
            var validator = new GameValidator(game);

            validator.valid();

            Assert.AreEqual(1, validator.errors.Count());
            CollectionAssert.Contains(validator.errors.ToList(), "Sua aposta deve conter até 20 números.");
        }
コード例 #14
0
        public async Task <GameResponse> Update(GameDto gameDto)
        {
            Game game = _mapper.Map <GameDto, Game>(gameDto);

            ValidationResult result = new GameValidator(_repositoryGame).Validate(game);

            if (!result.IsValid)
            {
                return(new GameResponse(result));
            }

            await _repositoryGame.Update(game);

            return(new GameResponse(_mapper.Map <Game, GameDto>(game), new NotificacaoDto(NotificacaoDto.TipoMensagem.Sucesso, "Game atualizada com sucesso!")));
        }
コード例 #15
0
        public void GameValidator_Errors_WhenGameIsValid()
        {
            var game = buildGame("01", "02",
                                 "05", "06",
                                 "09", "10",
                                 "13", "14",
                                 "17", "18",
                                 "19");

            var validator = new GameValidator(game);

            validator.valid();

            Assert.AreEqual(0, validator.errors.Count());
        }
コード例 #16
0
        private void CompareFlags(Move m)
        {
            if (!GameValidator.IsLegalMove(m.MoveString))
            {
                MoveFlags = "";
                return;
            }

            string validatorFlags = GameValidator.GetMoveFlags(m.MoveString);

            GameValidator.AppendMove(m.MoveString);

            bool equal = true;

            foreach (char c in m.MoveFlags)
            {
                if (!validatorFlags.Contains(c) && c.ToString() != Moves.EnpassantCapture)
                {
                    equal = false;
                    break;
                }
            }

            if (equal)
            {
                foreach (char c in validatorFlags)
                {
                    if (!m.MoveFlags.Contains(c))
                    {
                        equal = false;
                        break;
                    }
                }
            }

            this.MoveFlags  = "MV : '" + m.MoveFlags + "'" + Environment.NewLine + "GV : '" + validatorFlags + "'" + Environment.NewLine;
            this.MoveFlags += "Fen : '" + m.Fen + "'" + Environment.NewLine + "Move : '" + m.MoveString + "'";

            if (equal)
            {
                return;
            }

            if (MoveFlagsError != null)
            {
                MoveFlagsError(this, EventArgs.Empty);
            }
        }
コード例 #17
0
        public IActionResult Post([FromBody] List <Game> games)
        {
            _logger.LogInformation("test log information");

            GameValidator validator         = new GameValidator();
            var           validateListGames = validator.Validate(games);

            if (validateListGames.IsValid)
            {
                var finalistas = _gameService.ClassificarJogos(games);

                return(Ok(finalistas));
            }

            return(BadRequest(validateListGames.Errors));
        }
コード例 #18
0
        public void Can_ParseSongNode_As_ValidGame(string xPathToEz2DjSongNode, string gameTitle)
        {
            var doc = new HtmlDocument();

            doc.Load("ez2onDBSample.html");
            var         songNode   = doc.DocumentNode.SelectSingleNode(xPathToEz2DjSongNode);
            var         mockLogger = new Mock <ILogger <Ez2OnParser> >();
            Ez2OnParser parser     = new Ez2OnParser(mockLogger.Object);
            var         game       = parser.InferGameFromSongAlbum(songNode);

            Assert.Equal(gameTitle, game.Title);
            Assert.False(game.IsDlc);
            GameValidator gameValidator    = new GameValidator();
            var           validationResult = gameValidator.Validate(game);

            Assert.True(validationResult.IsValid);
        }
コード例 #19
0
        public void ValidBoard()
        {
            var details = "0   1 11," +
                          "   3    ," +
                          "13 5 4  ," +
                          " 2   31 ," +
                          "  332  0," +
                          "     1  ," +
                          " 1 0 1  ," +
                          "        ";

            var game      = CreateGame(details);
            var validator = new GameValidator();

            var validationResult = validator.Validate(game);

            Assert.True(validationResult.IsValid);
        }
コード例 #20
0
        public void Run()
        {
            IGameConfiguration      configuration = new GameConfiguration();
            IBoard                  board         = configuration.BoardConfiguration.GetBoard();
            List <ICoordinate>      mines         = configuration.MinesConfiguration.GetMines();
            ICoordinate             exit          = configuration.ExitConfiguration.GetExitPoint();
            IPosition               start         = configuration.StartConfiguration.GetStartPoint();
            List <List <MoveType> > moves         = configuration.MoveConfiguration.GetMoves();
            ITurtle                 turtle        = new Turtle(start);
            IGameValidator          gameValidator = new GameValidator(board, mines, exit, start, moves, turtle);

            IGame      game       = new Game(board, mines, exit, start, moves, turtle, gameValidator);
            GameResult gameResult = game.Run();

            Assert.AreEqual(gameResult.ResultList[0], Status.StillInDanger);
            Assert.AreEqual(gameResult.ResultList[1], Status.MineHit);
            Assert.AreEqual(gameResult.ResultList[2], Status.Success);
            Assert.AreEqual(gameResult.ResultList[3], Status.OutOfBoard);
        }
コード例 #21
0
        public void TooManyMines()
        {
            var details = "3   1 11," +
                          "!! 3    ," +
                          "13 5 4  ," +
                          " 2   31 ," +
                          "  332  0," +
                          "     1  ," +
                          " 1 0 1  ," +
                          "        ";

            var game      = CreateGame(details);
            var validator = new GameValidator();

            var validationResult = validator.Validate(game);

            Assert.False(validationResult.IsValid);
            Assert.Equal("Too many mines", validationResult.Reason);
            Assert.Equal(0, validationResult.CellOfInterest.Column);
            Assert.Equal(2, validationResult.CellOfInterest.Row);
        }
コード例 #22
0
        public void CannotPlaceAllMines()
        {
            var details = "0   1 11," +
                          "   3    ," +
                          "13 8 4  ," +
                          " 2   31 ," +
                          "  332  0," +
                          "     1  ," +
                          " 1 0 1  ," +
                          "        ";

            var game      = CreateGame(details);
            var validator = new GameValidator();

            var validationResult = validator.Validate(game);

            Assert.False(validationResult.IsValid);
            Assert.Equal("Too few mines", validationResult.Reason);
            Assert.Equal(3, validationResult.CellOfInterest.Column);
            Assert.Equal(2, validationResult.CellOfInterest.Row);
        }
コード例 #23
0
        public void PerformanceTest1()
        {
            //paste TestData_Performance.txt contents to config.txt before running this test

            IGameConfiguration      configuration = new GameConfiguration();
            IBoard                  board         = configuration.BoardConfiguration.GetBoard();
            List <ICoordinate>      mines         = configuration.MinesConfiguration.GetMines();
            ICoordinate             exit          = configuration.ExitConfiguration.GetExitPoint();
            IPosition               start         = configuration.StartConfiguration.GetStartPoint();
            List <List <MoveType> > moves         = configuration.MoveConfiguration.GetMoves();
            ITurtle                 turtle        = new Turtle(start);
            IGameValidator          gameValidator = new GameValidator(board, mines, exit, start, moves, turtle);

            IGame      game       = new Game(board, mines, exit, start, moves, turtle, gameValidator);
            GameResult gameResult = game.Run();

            gameResult.ResultList.ForEach(result =>
            {
                Assert.AreEqual(Status.StillInDanger, result);
            });
        }
コード例 #24
0
        public void StartIsNotOnBoard()
        {
            IBoardConfiguration boardConfiguration = new BoardConfiguration("5 4");
            IExitConfiguration  exitConfiguration  = new ExitConfiguration("4 2");
            IMinesConfiguration minesConfiguration = new MinesConfiguration("1,1 1,3 3,3");
            IMoveConfiguration  moveConfiguration  = new MoveConfiguration(new List <string>()
            {
                "M R L", "L M R", "R M L"
            });
            IStartConfiguration startConfiguration = new StartConfiguration("6 9 N");

            IBoard                  board  = boardConfiguration.GetBoard();
            List <ICoordinate>      mines  = minesConfiguration.GetMines();
            ICoordinate             exit   = exitConfiguration.GetExitPoint();
            IPosition               start  = startConfiguration.GetStartPoint();
            List <List <MoveType> > moves  = moveConfiguration.GetMoves();
            ITurtle                 turtle = new Turtle(start);

            IGameValidator gameValidator = new GameValidator(board, mines, exit, start, moves, turtle);

            gameValidator.Validate();
        }
コード例 #25
0
ファイル: Game.cs プロジェクト: rafeyhusain/InfinityChess
        public void SetFen(string fen)
        {
            if (string.IsNullOrEmpty(fen) || !GameValidator.IsValidFen(fen))
            {
                return;
            }

            if (BeforeSetFen != null)
            {
                BeforeSetFen(this, EventArgs.Empty);
            }

            GameValidator = new GameW(fen);

            if (Flags.IsOffline)
            {
                if (Flags.IsClickedByUser)
                {
                    if (IsSwapPlayersRequired)
                    {
                        SwapPlayers();
                    }
                }
                else
                {
                    Clock.Reset();
                    Clock.Stop();
                    GameResult = GameResultE.InProgress;
                }

                Flags.EnPassant = SquareE.NoSquare;
                ResetCounters();
            }

            if (AfterSetFen != null)
            {
                AfterSetFen(this, EventArgs.Empty);
            }
        }
コード例 #26
0
        /// <summary>
        /// Gets the specified console using it's name as an identifier.
        /// </summary>
        /// <param name="name">The name of the console to get.</param>
        /// <param name="validate">if set to <c>true</c> [validate].</param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        public HyperValidator.Models.Console Get(String name, Boolean validate = false)
        {
            var console = new HyperValidator.Models.Console()
            {
                Name = name
            };

            var databasePath = PathUtility.Combine(Settings.HyperSpinRootLocation, "databases", console.Name, $"{console.Name}.xml");
            var database     = DatabaseSerializer.DeserializeFromFile(databasePath);

            console.Database = database;

            var settingsPath = PathUtility.Combine(Settings.HyperSpinRootLocation, "settings", $"{console.Name}.ini");

            if (!FileUtility.Exists(settingsPath))
            {
                throw new Exception($"Failed to find settings file for {name}");
            }

            var settings = ConsoleSerializer.DeserializeFromFile(settingsPath);

            console.Settings = settings;

            console.Status = ConsoleValidator.Validate(console);

            if (validate)
            {
                foreach (var game in console.Database.Games)
                {
                    var status = GameValidator.Validate(console, game);
                    OnGameValidated(status);
                    game.Status = status;
                }
                OnValidationComplete();
            }

            return(console);
        }
コード例 #27
0
        public void GameSong_MustBeAssociatedWith_EitherGameOrDlc(string locale)
        {
            var lorem = new Bogus.DataSets.Lorem(locale)
            {
                Random = new Randomizer(1080)
            };

            Game fakeGame = new Game()
            {
                Title = lorem.Letter(1)
            };

            Song fakeSong = new Song()
            {
                Title    = lorem.Letter(1),
                Composer = lorem.Letter((1)),
                Album    = lorem.Letter(1)
            };
            var randomFluent = new Bogus.Faker()
            {
                Random = new Randomizer(1080)
            };
            DifficultyMode fakeMode = new DifficultyMode();

            fakeMode.Level    = randomFluent.Random.Int(1, 20);
            fakeMode.Category = DifficultyCategory.Easy;

            Ez2OnGameTrack fakeGameTrack = new Ez2OnGameTrack(fakeSong, fakeGame, fakeMode);

            SongValidator fakeSongValidator = new SongValidator();
            GameValidator fakeGameValidator = new GameValidator();

            GameTrackValidator mockValidator = new GameTrackValidator(fakeSongValidator, fakeGameValidator);

            var gameMusicResults = mockValidator.Validate(fakeGameTrack);

            Assert.True(gameMusicResults.IsValid);
        }
コード例 #28
0
ファイル: GameService.cs プロジェクト: maria-lazar/education
 public GameService(GameRepository repository, TeamRepository teamRepository, GameValidator validator)
 {
     this.repository     = repository;
     this.teamRepository = teamRepository;
     this.validator      = validator;
 }
コード例 #29
0
 public GameValidatorTests()
 {
     validator = new GameValidator();
 }
コード例 #30
0
        private void DoNewGame(string fen, GameMode gameMode, GameType gameType, OptionsBlitzClock blitzClock, OptionsLongClock longClock)
        {
            NewGameEventArgs args = new NewGameEventArgs();

            if (BeforeNewGame != null)
            {
                BeforeNewGame(this, args);
            }

            if (args.Cancel)
            {
                return;
            }

            if (SaveDocking != null)
            {
                SaveDocking(this, EventArgs.Empty);
            }

            GameStartTimeLocal = DateTime.Now;

            Ap.Options.CurrentGameGuid = string.Empty;
            Stop();

            InitialBoardFen = fen;

            PreviousGameMode   = GameMode;
            PreviousPonderMove = string.Empty;
            GameMode           = gameMode;
            GameType           = gameType;

            #region Init
            //GameValidator = new GameW(this.InitialBoardFen);
            GameValidator.SetFen(this.InitialBoardFen);

            SpaceBarCounter = 0;

            CloseEngines();

            if (GameType == GameType.Long)
            {
                GameTime.Init(longClock, true);
            }
            else
            {
                GameTime.Init(blitzClock, true);
            }

            if (Flags.IsBookLoadRequired)
            {
                Book.Load(null);
            }

            GameResult = GameResultE.InProgress;
            Reset();

            if (DbGame != null && DbGame.IsFinished)
            {
                this.GameResult = DbGame.GameResultIDE;
                this.Flags.SetFlags(DbGame.GameFlags);
            }

            CurrentMove = RootMove.Clone();
            Moves.Clear();
            CurrentLine = null;
            #endregion

            #region Switch GameMode
            switch (GameMode)
            {
            case GameMode.None:
                break;

            case GameMode.HumanVsHuman:
                #region HumanVsHuman
                GameTime.TimeMin     = 0;
                GameTime.GainPerMove = 0;

                Player1.Engine = null;
                Player2.Engine = null;

                Player2.Book = Book;

                Player1.PlayerTitle = Ap.UserProfile.LastName;
                Player2.PlayerTitle = "InfinityChess";

                GameData.SetPlayers(Player1.PlayerTitle, Ap.UserProfile.FirstName, Player2.PlayerTitle, "");
                gameTypeTitle = Ap.GetGameTypeTitle(GameType);
                #endregion
                break;

            case GameMode.HumanVsEngine:
                #region HumanVsEngine
                Player2EngineFileName = InfinitySettings.Settings.DefaultEngineXml.FilePath;
                Player1.Engine        = null;
                if (DefaultEngine == null)
                {
                    Player2.Engine = UCIEngine.Load(Player2EngineFileName, Options.DefaultHashTableSize, this);
                    Player2.Engine.UseTablebases = Ap.EngineOptions.UseTablebases;

                    DefaultEngine = Player2.Engine;
                }
                else
                {
                    Player2.Engine = DefaultEngine;
                }

                Player2.Book = Book;

                DefaultBook = Player2.Book;

                Player1.PlayerTitle = Ap.UserProfile.LastName;
                Player2.PlayerTitle = Player2.Engine.EngineName;

                GameData.SetPlayers(Player1.PlayerTitle, Ap.UserProfile.FirstName, Player2.PlayerTitle, "");
                gameTypeTitle = Ap.GetGameTypeTitle(GameType);
                #endregion
                break;

            case GameMode.EngineVsEngine:
                #region EngineVsEngine
                Player1.Engine = UCIEngine.Load(Player1EngineFileName, Player1EngineHashTableSize, this);
                Player1.Engine.UseTablebases = Ap.EngineOptions.UseTablebases;

                Player2.Engine = UCIEngine.Load(Player2EngineFileName, Player2EngineHashTableSize, this);
                Player2.Engine.UseTablebases = Ap.EngineOptions.UseTablebases;

                Player1.PlayerTitle = Player1.Engine.EngineName;
                Player2.PlayerTitle = Player2.Engine.EngineName;

                if (Player1.Book != null)
                {
                    Player1.Book.NewGame();
                }
                if (Player2.Book != null)
                {
                    Player2.Book.NewGame();
                }

                GameData.SetPlayers(Player1.PlayerTitle, "", Player2.PlayerTitle, "");
                gameTypeTitle = Ap.GetGameTypeTitle(GameType);

                InitE2eResult();
                #endregion
                break;

            case GameMode.OnlineHumanVsHuman:
                #region OnlineHumanVsHuman
                StartOnlineH2HGame();
                #endregion
                break;

            case GameMode.OnlineHumanVsEngine:
                #region OnlineHumanVsEngine
                gameTypeTitle = Ap.GetGameTypeTitle(GameType);
                #endregion
                break;

            case GameMode.OnlineEngineVsEngine:
                #region OnlineEngineVsEngine
                if (Ap.PlayingMode.SelectedEngine == null)
                {
                    StartOnlineH2HGame();
                }
                else
                {
                    StartOnlineE2EGame();
                }
                #endregion
                break;

            case GameMode.Kibitzer:
                #region Kibitzer
                GameTime.Set(DbGame);
                GameResult = DbGame.GameResultIDE;

                Player1.PlayerTitle = DbGame.WhiteUser.UserName + " " + DbGame.WhiteUser.Engine.Name;
                Player2.PlayerTitle = DbGame.BlackUser.UserName + " " + DbGame.BlackUser.Engine.Name;

                if (DbGame.IsRated)
                {
                    gameTypeTitle = GameType.ToString() + " " + DbGame.TimeMin.ToString() + "' + " + DbGame.GainPerMoveMin.ToString() + "'', " + "Rated";

                    if (DbGame.EloBlackBefore != 0 && !DbGame.BlackUser.IsGuest)
                    {
                        Player2.PlayerTitle += " " + DbGame.EloBlackBefore.ToString();
                    }

                    if (DbGame.EloWhiteBefore != 0 && !DbGame.WhiteUser.IsGuest)
                    {
                        Player1.PlayerTitle += " " + DbGame.EloWhiteBefore.ToString();
                    }
                }
                else
                {
                    gameTypeTitle = GameType.ToString() + " " + DbGame.TimeMin.ToString() + "' + " + DbGame.GainPerMoveMin.ToString() + "'', " + "Unrated";
                }

                GameData.SetPlayers(Player1.PlayerTitle, "", Player2.PlayerTitle, "");

                #endregion
                break;

            default:
                break;
            }
            #endregion

            if (DefaultEngine != null)
            {
                if (DefaultEngine.IsClosed)
                {
                    DefaultEngine.Load();
                }
            }

            Flags.IsEngineBlack = true;

            #region Start

            Clock.NewGame();
            Notations.NewGame();

            if (Flags.IsBookLoadRequired)
            {
                Book.NewGame();
            }

            CapturedPieces.NewGame();
            GameData.NewGame();

            Clipboard.Reset();

            GameData.Tournament = GameTypeTitle;

            Ap.Options.GameType = gameType;
            Ap.Options.Save();

            #endregion

            if (CreateDocking != null)
            {
                CreateDocking(this, EventArgs.Empty);
            }

            Flags.IsInfiniteAnalysisOn = false;
            MediaPlayer.PlaySound(SoundFileNameE.SetPieces);
            SetFen(fen);

            Flags.IsBoardSetByFen = fen != ChessLibrary.FenParser.InitialBoardFen;

            if (Flags.IsOnline && DbGame != null)
            {
                Flags.IsChallengerSendsGame = DbGame.IsChallengerSendsGame;
            }

            SetSuddenDeathMatchTime();

            if (AfterNewGame != null)
            {
                AfterNewGame(this, EventArgs.Empty);
            }
        }