示例#1
0
        private Move getpossibleMoveForSoldierByAddedValue(Board io_board, AddValueToCell i_addValue)
        {
            bool eating       = true;
            Move possibleMove = new Move(m_Cell, new Location((EnumRowCols.enumRows)((int)m_Cell.Row + i_addValue.AddToRow), (EnumRowCols.enumCols)((int)m_Cell.Column + i_addValue.AddToColumn)));

            if (io_board.IsCellIsValid(possibleMove.CellTo))
            {
                if (!io_board.IsCellIsEmpty(possibleMove.CellTo))
                {
                    if (io_board.IsCellsContainsSameGroupSoldier(Cell, possibleMove.CellTo))
                    {
                        possibleMove = null;
                    }
                    else
                    {
                        possibleMove          = new Move(m_Cell, new Location(possibleMove.CellTo.Row + i_addValue.AddToRow, possibleMove.CellTo.Column + i_addValue.AddToColumn));
                        possibleMove.IsEating = eating;

                        if (!io_board.IsCellIsValid(possibleMove.CellTo) || !io_board.IsCellIsEmpty(possibleMove.CellTo))
                        {
                            possibleMove = null;
                        }
                    }
                }
            }
            else
            {
                possibleMove = null;
            }

            return(possibleMove);
        }
示例#2
0
        private List <AddValueToCell> getAddValueToCellForTopCell()
        {
            List <AddValueToCell> topCells    = new List <AddValueToCell>();
            int            io_AddToRow        = 1;
            int            io_AddToColumn     = 1;
            AddValueToCell addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);

            topCells.Add(addValueToCellItem);
            io_AddToRow        = 1;
            io_AddToColumn     = -1;
            addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);
            topCells.Add(addValueToCellItem);
            return(topCells);
        }
示例#3
0
        private List <AddValueToCell> getAddValueToCellForBottomCell()
        {
            List <AddValueToCell> bottomCells = new List <AddValueToCell>();
            int            io_AddToRow        = -1;
            int            io_AddToColumn     = 1;
            AddValueToCell addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);

            bottomCells.Add(addValueToCellItem);
            io_AddToRow        = -1;
            io_AddToColumn     = -1;
            addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);
            bottomCells.Add(addValueToCellItem);
            return(bottomCells);
        }
示例#4
0
        private List <AddValueToCell> getValueToAddForCellByDirection()
        {
            List <AddValueToCell> addedToCellList = new List <AddValueToCell>();
            AddValueToCell        addValueToCellItem;
            int io_AddToRow;
            int io_AddToColumn;

            if (Direction == EnumDirection.enumDirection.ForwardToDown || Direction == EnumDirection.enumDirection.AllDirection)
            {
                io_AddToRow        = 1;
                io_AddToColumn     = 1;
                addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);
                addedToCellList.Add(addValueToCellItem);
            }

            if (Direction == EnumDirection.enumDirection.ForwardToDown || Direction == EnumDirection.enumDirection.AllDirection)
            {
                io_AddToRow        = 1;
                io_AddToColumn     = -1;
                addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);
                addedToCellList.Add(addValueToCellItem);
            }

            if (Direction == EnumDirection.enumDirection.DownToForward || Direction == EnumDirection.enumDirection.AllDirection)
            {
                io_AddToRow        = -1;
                io_AddToColumn     = 1;
                addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);
                addedToCellList.Add(addValueToCellItem);
            }

            if (Direction == EnumDirection.enumDirection.DownToForward || Direction == EnumDirection.enumDirection.AllDirection)
            {
                io_AddToRow        = -1;
                io_AddToColumn     = -1;
                addValueToCellItem = new AddValueToCell(io_AddToRow, io_AddToColumn);
                addedToCellList.Add(addValueToCellItem);
            }

            return(addedToCellList);
        }