用JAVA编写一个农夫过河游戏代码
时间: 2023-09-22 10:07:33 浏览: 102
下面是一个简单的Java代码实现农夫过河游戏:
```java
import java.util.Scanner;
public class FarmerCrossRiverGame {
public static void main(String[] args) {
boolean farmer = true; // 农夫所在的岸边,true为左岸,false为右岸
boolean wolf = true; // 狼所在的岸边
boolean sheep = true; // 羊所在的岸边
boolean cabbage = true; // 卷心菜所在的岸边
Scanner scanner = new Scanner(System.in);
while (true) {
// 输出当前状态
System.out.println("当前状态:");
System.out.println("农夫在" + (farmer ? "左" : "右") + "岸");
System.out.println("狼在" + (wolf ? "左" : "右") + "岸");
System.out.println("羊在" + (sheep ? "左" : "右") + "岸");
System.out.println("卷心菜在" + (cabbage ? "左" : "右") + "岸");
// 判断是否通关
if (!farmer && !wolf && !sheep && !cabbage) {
System.out.println("恭喜你通关了!");
break;
}
// 输入移动选项
System.out.println("请选择要移动的物品(1:农夫,2:狼,3:羊,4:卷心菜):");
int choice = scanner.nextInt();
// 移动农夫
if (choice == 1) {
farmer = !farmer;
}
// 移动狼
else if (choice == 2) {
if (farmer != wolf) {
System.out.println("狼会吃羊!");
continue;
}
wolf = !wolf;
}
// 移动羊
else if (choice == 3) {
if (farmer != sheep) {
System.out.println("羊会吃卷心菜!");
continue;
}
sheep = !sheep;
}
// 移动卷心菜
else if (choice == 4) {
cabbage = !cabbage;
}
// 无效选项
else {
System.out.println("无效选项!");
continue;
}
}
scanner.close();
}
}
```
在这个代码中,我们使用了一个while循环,不断输出当前状态并接收用户输入的移动选项,直到所有物品都到达右岸。在移动每个物品时,我们需要判断当前状态是否合法,如果不合法则输出相应的提示信息并继续循环。最后,当所有物品都到达右岸时,程序输出通关信息并结束循环。
阅读全文