예제 #1
0
 protected void ProcessMove(Point newPos, Warehouse warehouse)
 {
     if (warehouse.CanMoveAt(newPos))
     {
         DoMove(newPos);
     }
 }
예제 #2
0
        public new void ProcessMove(Point direction, Warehouse warehouse)
        {
            Point newPos = GetNextPos(direction);

            if (warehouse.IsThereABoxAt(newPos))
            {
                MoveBox(warehouse.GetBoxAt(newPos), direction, warehouse);
            }
            if (warehouse.CanMoveAt(newPos))
            {
                moveCount++;
            }
            base.ProcessMove(newPos, warehouse);
        }