如何用Java做人机交互版的猜谜游戏?
//用户类
公共类用户{
int num
public int showFist(){
扫描仪输入=新扫描仪(system . in);
System.out.print("请打卡:1。剪刀2。石头3。布(输入相应的数字):);
num = input . nextint();
开关(数量){
案例1:
System.out.println("你出拳:剪刀");
打破;
案例二:
System.out.println("你出拳:石头");
打破;
案例三:
System.out.println("你出拳:布");
打破;
默认值:
System.out.println("输入错误!");
}
退货数量;
}
}
//计算机类
公共类计算机{
int num 1;
public int showFist1(){
num 1 =(int)(math . random()* 3)+1;
开关(num1){
案例1:
System.out.println("电脑打孔:剪刀");
打破;
案例二:
System.out.println("电脑打孔:石头");
打破;
案例三:
System.out.println("电脑打孔:布料");
打破;
}
返回num 1;
}
}
//游戏类
导入Java . util . *;
公共类游戏{
扫描仪输入=新扫描仪(system . in);
串人;
字符串计算机;
int计数;
int结果;
int[] s=new int[]{0,0 };
public void initialGame(){
System.out.print("请选择一个角色(1:刘备2:孙权3:曹操):");
int index = input . nextint();
开关(索引){
案例1:
Person= "刘备";
打破;
案例二:
Person= "孙权";
打破;
案例三:
Person= "曹操";
打破;
默认值:
指数= 4;
System.out.println("输入错误,请重新输入!");
}
Computer= "匿名";
count = 0;
}
public int calcResult(){
if(s[0]& gt;s[1]){
结果= 1;
} else if(s[1]& gt;s[0]){
结果= 2;
}否则{
结果= 3;
}
返回结果;
}
public void showResult(){
开关(calcResult()){
案例1:
System.out.println("结果:恭喜!");
打破;
案例二:
System.out.println("结果:呵呵,笨蛋,下次加油!");
打破;
案例三:
System.out.println("结果:平局,下次再跟你比!"" );
打破;
}
}
public void startGame(){
系统。out . println(" \ t \ t \ t-欢迎来到游戏世界-");
system . out . println(" \ n \ n * * ");
System.out.println(" **猜测,开始* * ");
system . out . println(" * * ");
系统。out . println(" \ n \ n punch rule:1。剪刀2。摇滚3。布”);
}
公共静态void main(String[] args){
扫描仪输入=新扫描仪(system . in);
user u = new user();
电脑c =新电脑();
game g = new game();
g . start game();
g . initial game();
系统。out . print(" \ n是否要开始?(y/n)");
字符串answer = input . next();
while(answer.equals("y")){
system . out . println();
u . show fist();
c . showfist 1();
if((u num = = 1 & amp;& ampc . num 1 = = 3)| |(u . num = = 2 & amp;& ampc . num 1 = = 1)| |(u . num = = 3 & amp;& ampc.num1==2)){
System.out.println("结果:恭喜你,你赢了!");
g . s[0]= g . s[0]+1;
} else if((u num = = 1 & amp;& ampc . num 1 = = 2)| |(u . num = = 2 & amp;& ampc . num 1 = = 3)| |(u . num = = 3 & amp;& ampc.num1==1)){
System.out.println("结果:_,你输了,真蠢!");
g . s[1]= g . s[1]+1;
}否则{
System.out.println("结果:平局,活该!嘿嘿,等着瞧吧!”);
}
系统。out . print(" \ n \ n是否要开始下一轮?(y/n):);
答案= input . next();
g . count++;
}
system . out . println("-");//不能提交太多重复代码。如果我把它们放长一点会很好看。
system . out . println(g . person+" \ t "+" VS "+" \ t "+g . computer);
System.out.println("战斗次数:"+g . count);
g . show result();
}
}