写一个迷宫的JAVA小游戏
时间: 2024-06-12 10:03:28 浏览: 74
基于java的迷宫小游戏
由于我是GPT-3 AI语言模型,没有图形界面,无法为您提供迷宫的视觉效果,但是我可以为您提供代码框架。
以下是迷宫游戏的JAVA代码:
```
import java.util.Scanner;
public class MazeGame {
private static char[][] maze = { // 迷宫地图
{'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
{'#', ' ', ' ', ' ', '#', ' ', ' ', ' ', '#', ' ', ' ', '#'},
{'#', ' ', '#', ' ', '#', ' ', '#', ' ', '#', ' ', '#', '#'},
{'#', ' ', '#', ' ', ' ', ' ', '#', ' ', '#', ' ', ' ', '#'},
{'#', ' ', '#', '#', '#', '#', '#', ' ', '#', '#', ' ', '#'},
{'#', ' ', ' ', ' ', '#', ' ', ' ', ' ', '#', ' ', ' ', '#'},
{'#', '#', '#', ' ', '#', '#', '#', '#', '#', ' ', '#', '#'},
{'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#', ' ', ' ', '#'},
{'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
};
private static int[] playerPos = {1, 1}; // 玩家起始位置
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char input = ' ';
while (input != 'q') { // 游戏循环
displayMaze();
System.out.print("Enter a command (w/a/s/d/q): ");
input = scanner.nextLine().charAt(0);
switch (input) {
case 'w': // 向上移动
movePlayer(-1, 0);
break;
case 'a': // 向左移动
movePlayer(0, -1);
break;
case 's': // 向下移动
movePlayer(1, 0);
break;
case 'd': // 向右移动
movePlayer(0, 1);
break;
case 'q': // 退出游戏
break;
default: // 无效命令
System.out.println("Invalid command!");
}
if (playerPos[0] == maze.length - 2 && playerPos[1] == maze[0].length - 2) { // 判断是否到达终点
System.out.println("Congratulations! You've reached the end of the maze.");
break;
}
}
scanner.close();
}
private static void displayMaze() { // 显示迷宫地图和玩家位置
for (int i = 0; i < maze.length; i++) {
for (int j = 0; j < maze[0].length; j++) {
if (i == playerPos[0] && j == playerPos[1]) {
System.out.print('P'); // 玩家位置用P表示
} else {
System.out.print(maze[i][j]);
}
}
System.out.println();
}
}
private static void movePlayer(int row, int col) { // 移动玩家
int newRow = playerPos[0] + row;
int newCol = playerPos[1] + col;
if (maze[newRow][newCol] != '#') { // 判断新位置是否合法
playerPos[0] = newRow;
playerPos[1] = newCol;
} else {
System.out.println("You hit a wall!");
}
}
}
```
这个程序实现了一个简单的迷宫游戏,玩家可以通过控制台输入w/a/s/d命令来移动,q命令退出游戏。其中,#表示墙壁,P表示玩家位置,空格表示通路。玩家需要从起点(左上角)走到终点(右下角),避开墙壁。
阅读全文