
人狗大战:用Java实现简单游戏
在这篇文章中,我们将通过Java代码实现一个简单的“人狗大战”游戏。游戏中的玩家(人)需要在一个二维网格中躲避随机移动的狗。目标是存活尽可能长的时间。
游戏规则
1. 玩家可以在上下左右四个方向移动。
2. 狗会随机移动,并且试图靠近玩家。
3. 如果狗成功接触到玩家,则游戏结束。
Java代码示例
java
import java.util.Random;
import java.util.Scanner;
public class DogHumanBattle {
static int humanX = 0, humanY = 0;
static int dogX = 5, dogY = 5;
static Random random = new Random();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎来到人狗大战!");
while (true) {
System.out.println("您在 (" + humanX + ", " + humanY + "), 狗在 (" + dogX + ", " + dogY + ")");
System.out.print("输入移动方向 (W/A/S/D): ");
String move = scanner.nextLine().toUpperCase();
// 人物移动
switch (move) {
case "W": humanX = Math.max(humanX - 1, 0); break;
case "A": humanY = Math.max(humanY - 1, 0); break;
case "S": humanX = Math.min(humanX + 1, 9); break; // 假设网格为10x10
case "D": humanY = Math.min(humanY + 1, 9); break;
default: System.out.println("无效操作."); continue;
}
// 狗的随机移动
dogMove();
if (humanX == dogX && humanY == dogY) {
System.out.println("游戏结束!狗抓住了你。");
break;
}
}
scanner.close();
}
private static void dogMove() {
dogX += random.nextInt(3) - 1; // 随机选择 -1, 0, 1
dogY += random.nextInt(3) - 1; // 相同逻辑
dogX = Math.max(0, Math.min(dogX, 9)); // 边界检查
dogY = Math.max(0, Math.min(dogY, 9)); // 边界检查
}
}
总结
以上代码展示了一个基本的人狗大战游戏。玩家通过输入方向键来移动,狗则随机追逐。如果狗追上了玩家,游戏结束。这是一个很好的Java练习,涉及到条件语句和随机数的使用。希望你能在此基础上继续扩展游戏功能,比如添加计分、增加道具等!