java代码实现吃豆游戏
时间: 2023-11-27 08:57:38 浏览: 75
一个JAVA的吃豆游戏
4星 · 用户满意度95%
以下是一个简单的 Java 代码实现吃豆游戏的示例:
```
import java.util.Scanner;
public class PacManGame {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("欢迎来到吃豆游戏!");
System.out.print("请输入地图宽度:");
int width = sc.nextInt();
System.out.print("请输入地图高度:");
int height = sc.nextInt();
char[][] map = new char[height][width];
int pacManX = 0, pacManY = 0;
int dotCount = 0;
// 初始化地图
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
map[i][j] = '.';
}
}
// 随机生成豆子
int dotNum = (int) (0.2 * width * height);
for (int i = 0; i < dotNum; i++) {
int x = (int) (Math.random() * height);
int y = (int) (Math.random() * width);
if (map[x][y] == '.') {
map[x][y] = '*';
dotCount++;
}
}
// 初始化 Pac-Man 的位置
pacManX = height / 2;
pacManY = width / 2;
map[pacManX][pacManY] = 'C';
// 开始游戏循环
while (dotCount > 0) {
System.out.println("当前地图:");
printMap(map);
// 获取用户输入
System.out.print("请输入移动方向(w/a/s/d):");
char direction = sc.next().charAt(0);
// 移动 Pac-Man
int newPacManX = pacManX, newPacManY = pacManY;
switch (direction) {
case 'w':
newPacManX--;
break;
case 'a':
newPacManY--;
break;
case 's':
newPacManX++;
break;
case 'd':
newPacManY++;
break;
default:
System.out.println("无效的移动方向!");
continue;
}
// 判断是否越界
if (newPacManX < 0 || newPacManX >= height || newPacManY < 0 || newPacManY >= width) {
System.out.println("Pac-Man 不能走出地图!");
continue;
}
// 判断是否遇到墙
if (map[newPacManX][newPacManY] == '#') {
System.out.println("Pac-Man 不能穿过墙!");
continue;
}
// 更新 Pac-Man 的位置
map[pacManX][pacManY] = '.';
pacManX = newPacManX;
pacManY = newPacManY;
map[pacManX][pacManY] = 'C';
// 判断是否吃到豆子
if (map[pacManX][pacManY] == '*') {
map[pacManX][pacManY] = 'C';
dotCount--;
System.out.println("吃到了一个豆子!");
}
}
System.out.println("恭喜您通关了吃豆游戏!");
}
// 打印地图
public static void printMap(char[][] map) {
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[0].length; j++) {
System.out.print(map[i][j] + " ");
}
System.out.println();
}
}
}
```
这个程序实现了以下功能:
1. 根据用户输入的地图宽度和高度,随机生成一定数量的豆子,并初始化 Pac-Man 的位置。
2. 在游戏循环中,打印当前地图,接受用户输入移动方向,并根据输入更新 Pac-Man 的位置。
3. 在更新 Pac-Man 的位置后,判断是否吃到豆子,如果是,则更新豆子数量,并打印提示信息。
4. 当所有豆子都被吃掉时,结束游戏循环。
这只是一个简单的示例,你可以根据自己的需求扩展它,比如增加难度、添加墙壁、改变豆子的分布规律等等。
阅读全文