Пример #1
0
        private void restartSoldiers()
        {
            int boardSize = r_GameEngine.GetBoardSize();

            for (int i = 0; i < boardSize; i++)
            {
                for (int j = 0; j < boardSize; j++)
                {
                    Coordinate currentCoordinate = new Coordinate(i, j);
                    eSymbols   symbol            = r_GameEngine.GetBoardSquareSymbol(currentCoordinate);

                    r_PictureBoxSoldiersMatrix[i, j] = null;
                    if (symbol != eSymbols.None)
                    {
                        PictureBoxSoldier newPictureBoxSolider = new PictureBoxSoldier(symbol, currentCoordinate);

                        newPictureBoxSolider.Click             += soldier_Click;
                        newPictureBoxSolider.AnimationFinished += soldier_AnimationFinished;
                        Controls.Add(newPictureBoxSolider);
                        r_PictureBoxSoldiersMatrix[i, j] = newPictureBoxSolider;
                        newPictureBoxSolider.BringToFront();
                    }
                }
            }
        }
Пример #2
0
        private void removeSoldier(Coordinate i_Coordinate)
        {
            PictureBoxSoldier pictureboxSoldier = r_PictureBoxSoldiersMatrix[i_Coordinate.Row, i_Coordinate.Column];

            pictureboxSoldier.Disapear();
            r_PictureBoxSoldiersMatrix[i_Coordinate.Row, i_Coordinate.Column] = null;
        }
Пример #3
0
        private void soldier_Click(object sender, EventArgs e)
        {
            PictureBoxSoldier clickedSoldier = sender as PictureBoxSoldier;

            if (r_LogicsEventsQueue.Count == 0)
            {
                if (clickedSoldier != null)
                {
                    if (r_GameEngine.IsCurrentPlayerSoldier(clickedSoldier.Coordinate))
                    {
                        if (m_SelectedSoldier == clickedSoldier)
                        {
                            // second click on the same soldier - release
                            m_SelectedSoldier.SetSelected(false);
                            m_SelectedSoldier = null;
                        }
                        else
                        {
                            if (m_SelectedSoldier != null)
                            {
                                m_SelectedSoldier.SetSelected(false);
                            }

                            clickedSoldier.SetSelected(true);
                            m_SelectedSoldier = clickedSoldier;
                        }
                    }
                    else
                    {
                        clickedSoldier.Blink(eBlinkColor.Red);
                    }
                }
            }
        }
Пример #4
0
        private void moveSoldier(Move i_Move)
        {
            PictureBoxSoldier pictureboxSoldier = r_PictureBoxSoldiersMatrix[i_Move.FromCoordinate.Row, i_Move.FromCoordinate.Column];

            r_PictureBoxSoldiersMatrix[i_Move.ToCoordinate.Row, i_Move.ToCoordinate.Column]     = pictureboxSoldier;
            r_PictureBoxSoldiersMatrix[i_Move.FromCoordinate.Row, i_Move.FromCoordinate.Column] = null;
            m_SelectedSoldier = null;

            r_PictureBoxTilesMatrix[i_Move.FromCoordinate.Row, i_Move.FromCoordinate.Column].SendToBack();
            pictureboxSoldier.BringToFront();

            pictureboxSoldier.MoveTo(i_Move.ToCoordinate);
        }
Пример #5
0
        private bool isSoldierAbleToMove(PictureBoxSoldier m_SelectedSoldier)
        {
            bool ableToMove = false;

            foreach (Move currentPlayerMove in r_GameEngine.GetCurrentPlayerAviableMoves())
            {
                if (m_SelectedSoldier.Coordinate == currentPlayerMove.FromCoordinate)
                {
                    ableToMove = true;
                    break;
                }
            }

            return(ableToMove);
        }
Пример #6
0
        private void becomeKing(Coordinate i_Coordinate)
        {
            PictureBoxSoldier pictureboxSoldier = r_PictureBoxSoldiersMatrix[i_Coordinate.Row, i_Coordinate.Column];

            pictureboxSoldier.BecomeKing();
        }