Exemplo n.º 1
0
        public ChessMove(Point x1, Point x2, eMove m, Point eated, eChessPieceType pieceType, int moves, int fromMoves)
        {
            this._moveFrom.X = x1.X;
            this._moveFrom.Y = x1.Y;

            this._moveTo.X = x2.X;
            this._moveTo.Y = x2.Y;

            this._moveEated.X = eated.X;
            this._moveEated.Y = eated.Y;

            this._howMove        = m;
            this.ChessPieceEated = pieceType;
            this._moves          = moves;
            this._fromMoves      = fromMoves;
        }
Exemplo n.º 2
0
        public ChessMove(Point x1, Point x2, eMove m, int fromMoves)
        {
            this._moveFrom.X = x1.X;
            this._moveFrom.Y = x1.Y;

            this._moveTo.X = x2.X;
            this._moveTo.Y = x2.Y;

            this._moveEated.X = 0;
            this._moveEated.Y = 0;

            this._howMove        = m;
            this.ChessPieceEated = eChessPieceType.Null;
            this._moves          = 0;
            this._fromMoves      = fromMoves;
        }
Exemplo n.º 3
0
        private void addMoveToMovesList(ref List <Move> o_MovesList, int i_ColNum, int i_RowNum, eMove i_MoveInCol, eMove i_MoveInRow)
        {
            Point source      = new Point(i_ColNum, i_RowNum);
            Point destination = new Point(i_ColNum + (int)i_MoveInCol, i_RowNum + (int)i_MoveInRow);
            Move  validMove   = new Move(source, destination);

            o_MovesList.Add(validMove);
        }
Exemplo n.º 4
0
        private bool checkIfCurrentMoveIsAPossibleMoveOfTheCurrentSoldier(Soldier i_CurrentSoldier, eMove i_CurrentMove)
        {
            bool isCurrentMoveIsAPossibleMoveOfTheCurrentSoldier = false;

            if (i_CurrentMove != eMove.Invalid)
            {
                foreach (eMove move in i_CurrentSoldier.GetPossibleMoves())
                {
                    if (!isCurrentMoveIsAPossibleMoveOfTheCurrentSoldier)
                    {
                        isCurrentMoveIsAPossibleMoveOfTheCurrentSoldier = i_CurrentMove == move;
                    }
                }
            }

            return(isCurrentMoveIsAPossibleMoveOfTheCurrentSoldier);
        }
Exemplo n.º 5
0
        private void findNewPositionAccordingToEMove(out int o_RowToMoveTo, out int o_ColToMoveTo, eMove i_CurrentEMove, Soldier i_CurrentSoldier)
        {
            switch (i_CurrentEMove)
            {
            case eMove.UpLeft:
                o_RowToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[0] - 1;
                o_ColToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[1] - 1;
                break;

            case eMove.UpRight:
                o_RowToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[0] - 1;
                o_ColToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[1] + 1;
                break;

            case eMove.DownLeft:
                o_RowToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[0] + 1;
                o_ColToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[1] - 1;
                break;

            case eMove.DownRight:
                o_RowToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[0] + 1;
                o_ColToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[1] + 1;
                break;

            default:
                o_RowToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[0];
                o_ColToMoveTo = i_CurrentSoldier.GetPositionOnBoard()[1];
                break;
            }
        }
Exemplo n.º 6
0
        private void addMoveToMovesList(ref List <string> io_MovesList, int i_ColNum, int i_RowNum, eMove i_MoveInCol, eMove i_MoveInRow)
        {
            string validMove = string.Format(
                "{0}{1}>{2}{3}",
                (char)('A' + i_ColNum),
                (char)('a' + i_RowNum),
                (char)('A' + i_ColNum + i_MoveInCol),
                (char)('a' + i_RowNum + i_MoveInRow));

            io_MovesList.Add(validMove);
        }