예제 #1
0
파일: Board.cs 프로젝트: mvdlaar/AIRally
        internal void ExecuteProgramCard(AI ai, ProgramCard card)
        {
            switch (card.CardAction)
            {
                case ProgramCardAction.RotateLeft:
                    ai.Direction = TileDirectionUtil.TurnLeft(ai.Direction);
                    break;

                case ProgramCardAction.RotateRight:
                    ai.Direction = TileDirectionUtil.TurnRight(ai.Direction);
                    break;

                case ProgramCardAction.UTurn:
                    ai.Direction = TileDirectionUtil.Opposite(ai.Direction);
                    break;

                case ProgramCardAction.Move1:
                    MoveAIOnce(ai);
                    break;

                case ProgramCardAction.Move2:
                    MoveAIOnce(ai);
                    MoveAIOnce(ai);
                    break;

                case ProgramCardAction.Move3:
                    MoveAIOnce(ai);
                    MoveAIOnce(ai);
                    MoveAIOnce(ai);
                    break;

                case ProgramCardAction.BackUp:
                    MoveAIOnce(ai, TileDirectionUtil.Opposite(ai.Direction));
                    break;
            }
        }
예제 #2
0
 public void BlockCard(ProgramCard blockCard)
 {
     blockCard.Blocked = true;
 }
예제 #3
0
 public void BlockCard(ProgramCard blockCard)
 {
     blockCard.Blocked = true;
 }
예제 #4
0
 public void UnblockCard(ProgramCard blockCard)
 {
     blockCard.Blocked = false;
 }
예제 #5
0
 public void UnblockCard(ProgramCard blockCard)
 {
     blockCard.Blocked = false;
 }