Esempio n. 1
0
        private void getCoordinationFromClick(ref Coordination i_Coordination, Button i_PressedButton)
        {
            int widthBoard  = m_CoordinationButtons.GetLength(0);
            int heightBoard = m_CoordinationButtons.GetLength(1);

            for (int x = 0; x < widthBoard; ++x)
            {
                for (int y = 0; y < heightBoard; ++y)
                {
                    if (m_CoordinationButtons[x, y].Equals(i_PressedButton))
                    {
                        i_Coordination.SetCoordination(x, y);
                    }
                }
            }
        }
Esempio n. 2
0
        private void computerRandomWithoutEat()
        {
            Random       randomChooseSoldier         = new Random();
            Random       leftOrRightOrUpOrDownRandom = new Random();
            Soldier      chooseSoldier;
            Coordination chooseSoldierCoordination = new Coordination();
            Coordination newDestantion             = new Coordination();
            int          xCoordinationOfChooseSoldier;
            int          yCoordinationOfChooseSoldier;
            int          indexFromRandom;
            int          leftRightUpDownChoose;
            bool         validMove = false;

            while (validMove == false)
            {
                indexFromRandom = randomChooseSoldier.Next(m_CurrentTurnPlayer.SoldiersList.Count);
                chooseSoldier   = m_CurrentTurnPlayer.SoldiersList[indexFromRandom];
                xCoordinationOfChooseSoldier = chooseSoldier.GetXCoordination();
                yCoordinationOfChooseSoldier = chooseSoldier.GetYCoordination();
                chooseSoldierCoordination.SetCoordination(xCoordinationOfChooseSoldier, yCoordinationOfChooseSoldier);
                if (chooseSoldier.TypeOfSoldier == SoldierType.KingSoldier)
                {
                    leftRightUpDownChoose = leftOrRightOrUpOrDownRandom.Next(1, 5); // 4 moves can if king (so random from 4)
                }
                else
                {
                    leftRightUpDownChoose = leftOrRightOrUpOrDownRandom.Next(1, 3); // 2 moves can if king (so random from 2)
                }

                if (leftRightUpDownChoose == 1)
                {
                    validMove = chooseSoldier.CheckMoveLeftDown(m_TheBoard);
                    if (validMove == true)
                    {
                        newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier + 1);
                    }
                    else
                    {
                        validMove = chooseSoldier.CheckMoveRightDown(m_TheBoard);
                        if (validMove == true)
                        {
                            newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier + 1);
                        }
                        else
                        {
                            if (chooseSoldier.TypeOfSoldier == SoldierType.KingSoldier)
                            {
                                validMove = chooseSoldier.CheckMoveRightUp(m_TheBoard);
                                if (validMove == true)
                                {
                                    newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier - 1);
                                }
                                else
                                {
                                    validMove = chooseSoldier.CheckMoveLeftUp(m_TheBoard);
                                    if (validMove == true)
                                    {
                                        newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier - 1);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                if (leftRightUpDownChoose == 2)
                {
                    validMove = chooseSoldier.CheckMoveRightDown(m_TheBoard);
                    if (validMove == true)
                    {
                        newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier + 1);
                    }
                    else
                    {
                        validMove = chooseSoldier.CheckMoveLeftDown(m_TheBoard);
                        if (validMove == true)
                        {
                            newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier + 1);
                        }
                        else
                        {
                            if (chooseSoldier.TypeOfSoldier == SoldierType.KingSoldier)
                            {
                                validMove = chooseSoldier.CheckMoveRightUp(m_TheBoard);
                                if (validMove == true)
                                {
                                    newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier - 1);
                                }
                                else
                                {
                                    validMove = chooseSoldier.CheckMoveLeftUp(m_TheBoard);
                                    if (validMove == true)
                                    {
                                        newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier - 1);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                if (leftRightUpDownChoose == 3)
                {
                    validMove = chooseSoldier.CheckMoveRightUp(m_TheBoard);
                    if (validMove == true)
                    {
                        newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier - 1);
                    }
                    else
                    {
                        validMove = chooseSoldier.CheckMoveLeftUp(m_TheBoard);
                        if (validMove == true)
                        {
                            newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier - 1);
                        }
                        else
                        {
                            validMove = chooseSoldier.CheckMoveLeftDown(m_TheBoard);
                            if (validMove == true)
                            {
                                newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier + 1);
                            }
                            else
                            {
                                validMove = chooseSoldier.CheckMoveRightDown(m_TheBoard);
                                if (validMove == true)
                                {
                                    newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier + 1);
                                }
                            }
                        }
                    }
                }
                else
                if (leftRightUpDownChoose == 4)
                {
                    validMove = chooseSoldier.CheckMoveLeftUp(m_TheBoard);
                    if (validMove == true)
                    {
                        newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier - 1);
                    }
                    else
                    {
                        validMove = chooseSoldier.CheckMoveRightUp(m_TheBoard);
                        if (validMove == true)
                        {
                            newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier - 1);
                        }
                        else
                        {
                            validMove = chooseSoldier.CheckMoveLeftDown(m_TheBoard);
                            if (validMove == true)
                            {
                                newDestantion.SetCoordination(xCoordinationOfChooseSoldier - 1, yCoordinationOfChooseSoldier + 1);
                            }
                            else
                            {
                                validMove = chooseSoldier.CheckMoveRightDown(m_TheBoard);
                                if (validMove == true)
                                {
                                    newDestantion.SetCoordination(xCoordinationOfChooseSoldier + 1, yCoordinationOfChooseSoldier + 1);
                                }
                            }
                        }
                    }
                }

                if (validMove == true)
                {
                    chooseSoldier.UpdateSoldierOnBoard(m_TheBoard, chooseSoldierCoordination, newDestantion);
                }
            }
        }
Esempio n. 3
0
 public void SetCoordination(int i_X, int i_Y)
 {
     // Setter with 2 ints so I chose to exercise the Setter in this way
     m_XYCoordinationOnBoard.SetCoordination(i_X, i_Y);
 }