1. 程式人生 > >藍橋杯練習題:機器人(java)

藍橋杯練習題:機器人(java)

package lanqiaobei;

import java.util.HashMap;
import java.util.Scanner;

/*
蒜頭君收到了一份禮物,是一個最新版的機器人。這個機器人有4種指令:
1.	forward x,前進 x 米。
2.	back x,先向後轉,然後前進 x 米。
3.	left x,先向左轉,然後前進 x 米。
4.	right x,先向右轉,然後前進 x 米。
現在把機器人放在座標軸原點,起始朝向為 x 軸正方向。經過一系列指令以後,你能告訴蒜頭君機器人的座標位置嗎。座標軸上一個單位長度表示 1 米。

 */
public class Robot {
    public static  int[] res={0,0};
    public static void main(String[] args) {
      //方向順時針改變
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int x=0;
        int y=0;
        //0 右,1 下,2 左 ,3 上
        int direction=0;
        for (int i = 0; i <n ; i++) {
            direction =  juge(sc.next(),direction);
            switch (direction){
                case 0: x+=sc.nextInt(); break;
                case 1: y-=sc.nextInt(); break;
                case 2: x-=sc.nextInt();break;
                case 3: y+=sc.nextInt();break;
            }
        }
        System.out.println(x+" "+y);
    }
    public static int juge(String j,int direction){
        switch (j){
            case "forward": direction = direction; break;
            case "back": direction = (direction+2)%4; break;
            //==-1;
            case "left": direction = (direction+3)%4; break;
            case "right":direction = (direction+1)%4; break;
        }
        return direction;
    }

}