Пример #1
0
        internal Piece ChangeValues(AvailableObject i_AvailableObject, ref BoardMatrix io_BoardMatrixObject, ref Piece[] io_Matrix)
        {
            char sign = io_BoardMatrixObject.IsKingOrMen(i_AvailableObject, ref io_Matrix);

            if (io_BoardMatrixObject.GotToTheEnd(i_AvailableObject))
            {
                MensPieces[i_AvailableObject.GetIndexInMensPlaces()].IsKing = true;
                io_Matrix[MensPieces[i_AvailableObject.GetIndexInMensPlaces()].IndexInMatrix].IsKing = true;
            }

            MensPieces[i_AvailableObject.GetIndexInMensPlaces()].IndexInMatrix = i_AvailableObject.indexMoveTo;
            MensPieces[i_AvailableObject.GetIndexInMensPlaces()].Sign          = sign;

            return(MensPieces[i_AvailableObject.GetIndexInMensPlaces()]);
        }
Пример #2
0
        public bool GotToTheEnd(AvailableObject i_AvailableObject) //check if men got to the end to become a king
        {
            bool checkifKing;

            if ((i_AvailableObject.GetSign() == 'X' && i_AvailableObject.indexMoveTo < m_SizeOfBoard / 2) || (i_AvailableObject.GetSign() == 'O' && i_AvailableObject.indexMoveTo >= m_SizeOfBoard * m_SizeOfBoard / 2 - m_SizeOfBoard / 2))
            {
                checkifKing = true;
            }
            else
            {
                checkifKing = false;
            }

            return(checkifKing);
        }
Пример #3
0
        public char IsKingOrMen(AvailableObject i_AvailableObject, ref Piece[] io_Matrix)
        {
            char sign;

            if (GotToTheEnd(i_AvailableObject))
            {
                sign = i_AvailableObject.GetKingSignOfPiece();
            }
            else
            {
                sign = io_Matrix[i_AvailableObject.GetIndexInMatrix()].Sign;
            }

            return(sign);
        }
Пример #4
0
 internal void UpdateMenPieces(AvailableObject i_AvailableObject)
 {
     MensPieces[i_AvailableObject.GetIndexInMatrix()].IndexInMatrix = i_AvailableObject.indexMoveTo;
 }