用java 写一个18X的贪吃车
时间: 2024-04-14 15:30:55 浏览: 170
本工程为JAVA设计的贪吃游戏案例
以下是使用 Java 编写的一个简单的 18x18 贪吃车游戏示例:
```java
import java.util.Scanner;
public class GreedyCarGame {
public static void main(String[] args) {
int size = 18;
char[][] grid = new char[size][size];
int carRow = size / 2;
int carCol = size / 2;
// 初始化游戏格子
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (i == carRow && j == carCol) {
grid[i][j] = 'C'; // 贪吃车
} else {
grid[i][j] = '.'; // 空格
}
}
}
// 游戏循环
Scanner scanner = new Scanner(System.in);
boolean gameover = false;
int score = 0;
while (!gameover) {
// 打印游戏格子
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
System.out.print(grid[i][j] + " ");
}
System.out.println();
}
// 接收用户输入
System.out.print("请输入移动方向(上:w,下:s,左:a,右:d):");
String input = scanner.nextLine();
// 移动贪吃车
switch (input) {
case "w":
if (carRow > 0) {
grid[carRow][carCol] = '.';
carRow--;
}
break;
case "s":
if (carRow < size - 1) {
grid[carRow][carCol] = '.';
carRow++;
}
break;
case "a":
if (carCol > 0) {
grid[carRow][carCol] = '.';
carCol--;
}
break;
case "d":
if (carCol < size - 1) {
grid[carRow][carCol] = '.';
carCol++;
}
break;
default:
System.out.println("无效的移动方向!");
}
// 更新游戏状态
if (grid[carRow][carCol] == '.') {
grid[carRow][carCol] = 'C';
score++;
} else {
gameover = true;
System.out.println("游戏结束!得分:" + score);
}
}
scanner.close();
}
}
```
这个示例使用了一个二维字符数组 `grid` 来表示游戏格子,字符 'C' 表示贪吃车的位置,字符 '.' 表示空格。玩家可以通过输入 'w'、's'、'a'、'd' 来控制贪吃车的移动方向。游戏将根据贪吃车的移动和得分来判断游戏是否结束。
请注意,这只是一个简单的贪吃车游戏示例,您可以根据需要进行修改和扩展。
希望对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文