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); } } } }
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); } } }
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); }