public void generateSoliders(eNumberOfPlayer i_NumberOfPlayer, eSizeBoard i_BoardSize)
        {
            Soldiers.Clear();
            int  numberOfRows         = ((int)i_BoardSize / 2) - 1;
            int  numberOfPlayersInRow = (int)i_BoardSize / 2;
            char startRowForNumberOfPlayer;
            char representSoldier;

            switch (i_NumberOfPlayer)
            {
            case eNumberOfPlayer.First:
            {
                startRowForNumberOfPlayer = MovementOptions.k_StartRow;
                representSoldier          = Soldier.k_FirstPlayerRegular;
                generateSolidersForPlayer(numberOfRows, numberOfPlayersInRow, startRowForNumberOfPlayer, representSoldier);
                break;
            }

            case eNumberOfPlayer.Second:
            {
                representSoldier          = Soldier.k_SecondPlayerRegular;
                startRowForNumberOfPlayer = (char)(MovementOptions.k_StartRow + ((int)i_BoardSize / 2) + 1);
                generateSolidersForPlayer(numberOfRows, numberOfPlayersInRow, startRowForNumberOfPlayer, representSoldier);
                break;
            }
            }
        }
 public Player(String i_PlayerName, eTypeOfPlayer i_TypeOfPlayer, eNumberOfPlayer i_NumberOfPlayer, eSizeBoard i_BoardSize)
 {
     m_Score        = 0;
     PlayerName     = i_PlayerName;
     TypeOfPlayer   = i_TypeOfPlayer;
     NumberOfPlayer = i_NumberOfPlayer;
     Soldiers       = new List <Soldier>();
     generateSoliders(i_NumberOfPlayer, i_BoardSize);
 }
Exemplo n.º 3
0
        private void generateBoardSquaresAndSoliders(bool i_IsNeedToDrawSquare)
        {
            int             sizeOfBoard           = (int)CheckerboardController.Instance.SizeBoard;
            int             indexToDrawTheSolider = 1;
            int             startingPointX        = 150;
            int             startingPointY        = 70;
            eNumberOfPlayer numberOfPlayer        = eNumberOfPlayer.First;
            Point           pointToDraw           = new Point(startingPointX, startingPointY);
            Bitmap          imageToLoad           = Properties.Resources.WhiteSquare;

            imageToLoad.Tag = new TagName("White");
            Image SoliderToDraw = null;
            bool  isDrawSolider = false;

            for (int i = 0; i < sizeOfBoard; i++)
            {
                swapIndexToDrawTheSolider(ref indexToDrawTheSolider, i);
                pointToDraw.X  = startingPointX;
                pointToDraw.Y += k_SizeOfSquareInBoard;
                if ((i < (sizeOfBoard / 2) - 1))
                {
                    SoliderToDraw = Properties.Resources.BlackSolider;
                    isDrawSolider = true;
                }
                else if (i >= (sizeOfBoard / 2) + 1)
                {
                    SoliderToDraw  = Properties.Resources.WhiteSolider;
                    isDrawSolider  = true;
                    numberOfPlayer = eNumberOfPlayer.Second;
                }

                for (int j = 0; j < sizeOfBoard; j++)
                {
                    if (j != 0)
                    {
                        pointToDraw.X += k_SizeOfSquareInBoard;
                        swapImages(ref imageToLoad);
                    }

                    if (i_IsNeedToDrawSquare == true)
                    {
                        applySquareBoardToView(imageToLoad, pointToDraw, i, j);
                    }

                    if (isDrawSolider)
                    {
                        if (j == indexToDrawTheSolider)
                        {
                            applySoliderToFrontOfView(SoliderToDraw, pointToDraw, i, j, numberOfPlayer);
                            indexToDrawTheSolider += 2;
                        }
                    }
                }

                isDrawSolider = false;
            }
        }
Exemplo n.º 4
0
        private Player getPlayer(eNumberOfPlayer i_NumberOfPlayer)
        {
            Player playerToReturn;

            if (m_CurrentPlayer.NumberOfPlayer == i_NumberOfPlayer)
            {
                playerToReturn = m_CurrentPlayer;
            }
            else
            {
                playerToReturn = m_OtherPlayer;
            }

            return(playerToReturn);
        }
Exemplo n.º 5
0
        private void caclculateResultGame(eNumberOfPlayer i_NumberOfPlayerThatWon)
        {
            Player firstPlayer  = getPlayer(eNumberOfPlayer.First);
            Player secondPlayer = getPlayer(eNumberOfPlayer.Second);

            switch (i_NumberOfPlayerThatWon)
            {
            case eNumberOfPlayer.First:
            {
                calculateAndSetPoints(firstPlayer, secondPlayer);
                break;
            }

            case eNumberOfPlayer.Second:
            {
                calculateAndSetPoints(secondPlayer, firstPlayer);
                break;
            }
            }
        }
 public TagSolider(String i_SetName, eNumberOfPlayer i_NumberOfPlayer) : base(i_SetName)
 {
     m_NumberOfPlayer = i_NumberOfPlayer;
 }
Exemplo n.º 7
0
        private void applySoliderToFrontOfView(Image i_SoliderToDraw, Point i_PointToDraw, int i_Row, int i_Col, eNumberOfPlayer i_NumberOfPlayer)
        {
            OvalPictureBox solider = new OvalPictureBox(i_SoliderToDraw);

            solider.Location = new Point(i_PointToDraw.X + 2, i_PointToDraw.Y + 2);
            string stringToSetToTagName = String.Format("{0}{1}", (char)(MovementOptions.k_StartCol + i_Col), (char)(MovementOptions.k_StartRow + i_Row));

            solider.Name = string.Format("{0}{1}", stringToSetToTagName, k_SoliderPicName);
            solider.Tag  = new TagSolider(stringToSetToTagName, i_NumberOfPlayer);
            TagSolider tempTag = solider.Tag as TagSolider;

            if ((i_NumberOfPlayer == eNumberOfPlayer.Second && CheckerboardController.Instance.OtherPlayer.TypeOfPlayer != eTypeOfPlayer.Computer) || i_NumberOfPlayer == eNumberOfPlayer.First)
            {
                solider.MouseClick += solider_MouseClick;
            }

            solider.PictureOfSoliderStoppedToMove += solider_PictureOfSoliderStoppedToMove;
            this.Controls.Add(solider);
            solider.BringToFront();
        }