Esempio n. 1
0
        internal void ChooseRandomMove(int i_originRow, int i_originCol, bool i_isSeconedEat, ref bool i_thereIsAnotherEat, ref bool i_iAte)
        {
            List <PossibleMove> possibleMovesForComputer = SetListOfPossibleMoves(i_originRow, i_originCol, 1, i_isSeconedEat);
            PossibleMove        randMove = possibleMovesForComputer[RandNum.Next(possibleMovesForComputer.Count)];

            i_iAte = randMove.EatMove;
            MakeAStep(randMove.OriginCol, randMove.OriginRow, randMove);
            i_thereIsAnotherEat = isAnotherEat(randMove.DestRow, randMove.DestCol, 1);
        }
Esempio n. 2
0
 private void ClickField(Field field)
 {
     foreach (ICheckerMove PossibleMove in CheckerMoves)
     {
         if (!PossibleMove.Perform(field))
         {
             return;
         }
     }
 }
Esempio n. 3
0
        private void MakeAStep(int i_originCol, int i_originRow, PossibleMove item)
        {
            m_BoardMatrix[item.DestRow, item.DestCol] = m_BoardMatrix[i_originRow, i_originCol];
            m_BoardMatrix[i_originRow, i_originCol]   = null;
            if (item.EatMove)
            {
                int eated_i = (i_originRow < item.DestRow) ? item.DestRow - 1 : i_originRow - 1;
                int eated_j = (i_originCol < item.DestCol) ? item.DestCol - 1 : i_originCol - 1;
                m_BoardMatrix[eated_i, eated_j] = null;
            }

            if (item.DestRow == 0 || item.DestRow == BoardSize - 1)
            {
                m_BoardMatrix[item.DestRow, item.DestCol].Coronation();                         // set as king
            }
        }