蓝桥杯练习题:机器人(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;
    }

}

猜你喜欢

转载自blog.csdn.net/microopithecus/article/details/85326184