Exemple #1
0
        public static void Init(ref Grid fieldGrid, int fieldSize, FirstMovePlayer firstMove)
        {
            GameCore.fieldGrid = fieldGrid;
            GameCore.fieldSize = fieldSize;
            linesSpace         = fieldGrid.Width / fieldSize;
            cellsCount         = fieldSize * fieldSize;
            InitDashPoints();
            switch (firstMove)
            {
            case FirstMovePlayer.Random:
                currentPlayer = new Random().Next(2) == 0 ? Player.Red : Player.Blue;
                break;

            case FirstMovePlayer.Red:
                currentPlayer = Player.Red;
                break;

            case FirstMovePlayer.Blue:
                currentPlayer = Player.Blue;
                break;
            }
            vertDashes = new Dash[fieldSize + 1, fieldSize];
            horDashes  = new Dash[fieldSize, fieldSize + 1];
            CreateBorderDashes();
            cells = new List <Cell>();
            Initialized?.Invoke();
        }
        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            fieldSize = Convert.ToInt32(NavigationContext.QueryString["FieldSize"]);
            string          firstMoveString = NavigationContext.QueryString["FirstMove"];
            FirstMovePlayer first           = (FirstMovePlayer)Enum.Parse(typeof(FirstMovePlayer), firstMoveString, true);

            GameCore.Initialized += () => {
                SetCurrentPlayer(GameCore.GetCurrentPlayer());
            };
            GameCore.ScoreChanged     += ChangeScore;
            GameCore.FieldFilled      += GameOver;
            GameCore.SwapPlayersEvent += SetCurrentPlayer;
            GameCore.Init(ref fieldGrid, fieldSize, first);
            GameCore.GenerateField();
            linesWidth = GameCore.GetLinesWidth();
        }