Java实现小车游戏
Java实现小车游戏

定义一个小车类,然后生成小车状态用1,2,3,4进行赋值定义小车的状态,X,Y定义小车的位置
public class Car {int X;int Y;String staus;//生成状态public String createStaus(int i){//➡⬅⬆⬇if(i==1){staus ="🚗";return staus;}else if(i==2){staus= "🚗";return staus;}else if (i==3){staus="🚗";return staus;}else{staus="🚗";return staus;}}
}
用二维数组生成背景,键入“wasd”
public void run(){System.out.println("游戏开始!!!");System.out.println("行车不规范,亲人两行泪!!!");System.out.println("使用wsad控制小车上下左右");//生成背景(二维数组)random = new Random();n = random.nextInt(10)+5;background = new String [n][n];car=new Car();createMap();flushMap();//接受你的wasdScanner scanner = new Scanner(System.in);while (true){String next=scanner.next();if (next.equals("w")||next.equals("W")){//1.将小车原来位置赋值 “*”//2.改变小车的位置,将该位置赋予,相应状态的小车//3.判断小车是否撞墙或者到达终点background[car.X][car.Y] = "*";car.X =car.X-1;car.createStaus(1);background[car.X][car.Y] = car.staus;flushMap();if (checkWinOrover()) return;}else if (next.equals("s")||next.equals("S")){background[car.X][car.Y] = "*";car.X=car.X+1;car.createStaus(2);background[car.X][car.Y] = car.staus;flushMap();if (checkWinOrover()) return;}else if (next.equals("a")||next.equals("A")){background[car.X][car.Y] = "*";car.Y=car.Y-1;car.createStaus(3);background[car.X][car.Y] = car.staus;flushMap();if (checkWinOrover()) return;}else if (next.equals("d")||next.equals("D")){background[car.X][car.Y] = "*";car.Y=car.Y+1;car.createStaus(4);background[car.X][car.Y] = car.staus;flushMap();if (checkWinOrover()) return;}else{System.out.println("GG");return;}}}
小车位置然后移动后的位置,和当前位置进行赋值,其中围墙用“=”表示,路面用“*”表示用Random随机数生成。
public void createMap(){for (int i = 0; i <background.length ; i++) {for (int j = 0; j < background[i].length; j++) {if(i==0||j==0||i==n-1||j==n-1){background[i][j] ="=";}else {background[i][j]="*";}}}//生成小车和出口坐标car.X=random.nextInt(n-2)+1;car.Y=random.nextInt(n-2)+1;//保证出口位置不将小车覆盖while(true) {exitX = random.nextInt(n-2)+1;exitY =random.nextInt(n-2)+1;if (exitX != car.X || exitY != car.Y) {break;}}//随机生成小车状态;car.createStaus(random.nextInt(4)+1);background[car.X][car.Y] = car.staus;background[exitX][exitY] = "👑";}
最后一步打印背景(刷新背景)
public boolean checkWinOrover(){if (car.X==0||car.Y==0||car.X==n-1||car.Y==n-1){System.out.println("!!!");return true;}if (car.X==exitX&&car.Y==exitY){System.out.println("维克特锐");return true;}return false;}
创建一个Test类进行测试
public class Test { public static void main(String[] args) { new CarGame().run();
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
