题目描述:
一个农夫带着一匹狼、一只羊、一颗白菜要过河,只有一条船而且农夫每次最多只能带一个动物或物品过河,并且当农夫不在的时候狼会吃羊,羊会吃白菜。,请设计程序,由用户选择角色过河,系统自动判断游戏的胜负:当出现有生物被吃掉的时候,游戏失败,所有角色都到了河的另一边,游戏成功。
话不多说,直接看代码:
package Test1;
import java.util.Scanner;
public class Client {
static Farmer farmer = new Farmer();
public static void menu()
{
System.out.println("==================Please choose operation============");
System.out.println("\t==========1:Cross the river alone===========");
System.out.println("\t==========2:Cross the river with ("+farmer.wolf.name+")"+"=========");
System.out.println("\t==========3:Cross the river with ("+farmer.sheep.name+")"+"============");
System.out.println("\t==========4:Cross the river with ("+farmer.cabbage.name+")"+"==========");
System.out.println("\t==========0:Quit===============");
System.out.println("===================================================");
System.out.println("Input the number(0~4):");
}
public static void show()/* 输出农夫、各种动物、物品的状态(生存、位置) */
{
System.out.println("过河状态:");
System.out.println(farmer.sheep.name+": 是否在左边河:"+farmer.sheep.is_across_left+
" 是否在右边河"+farmer.sheep.is_across_right+" 是否存活:"+farmer.sheep.is_alive);
//如果羊过河成功则河左边显示false河右边显示true
System.out.pri