![](https://img-blog.csdnimg.cn/f9a00707da4f4603a2f183926ae0b9b0.jpeg)
package com.zsw666.obj;
import java.util.Random;
/**
* @className:AiComputer
* @description:
* @author:Zhang Shaowen
* @date:2023/3/2720:25
* @version:0.1
* @since:jdk11
*/
public class AiComputer {
String aiName;
int winNum;
// public AiComputer(String aiName) {
// this.aiName = aiName;
// }
public String showFist(){
String[] fistList ={"石头","剪刀","布"};
Random r =new Random();
int randomNum = r.nextInt(3);
return fistList[randomNum];
}
}
package com.zsw666.obj;
/**
* @className:User
* @description:
* @author:Zhang Shaowen
* @date:2023/3/2720:24
* @version:0.1
* @since:jdk11
*/
public class User {
String username;
int winNum;
int drawNum;
// public User(String username) {
// this.username = username;
// }
public String showFist(String i){
String fist = null;
switch (i){
case "1":
fist = "剪刀";
break;
case "2":
fist = "石头";
break;
case "3":
fist = "布";
break;
}
return fist;
}
}
package com.zsw666.obj;
import java.util.Scanner;
/**
* @className:Game
* @description:
* @author:Zhang Shaowen
* @date:2023/3/2720:28
* @version:0.1
* @since:jdk11
*/
public class Game {
// int gameNum;
public void initial() {
User user = new User();
AiComputer aiComputer = new AiComputer();
System.out.println("猜拳,开始!");
System.out.println("************");
System.out.println();
System.out.println();
System.out.println("出拳规则:1.剪刀 2.石头 3.布");
startGame(user, aiComputer);
}
public void startGame(User user, AiComputer aiComputer) {
String aiFist = null;
boolean flag = true;
String aiName = null;
System.out.print("请选择对方角色:(1.刘备 2.孙权 3.曹操):");
Scanner s = new Scanner(System.in);
aiName = s.next();
while (true) {
if ("1".equals(aiName) || "2".equals(aiName) || "3".equals(aiName)) {
break;
} else {
System.out.print("没有此角色,请重新选择:(1.刘备 2.孙权 3.曹操):");
aiName = s.next();
}
}
switch (aiName) {
case "1":
System.out.println("你选择了刘备");
aiComputer.aiName = "刘备";
break;
case "2":
System.out.println("你选择了孙权");
aiComputer.aiName = "孙权";
break;
case "3":
System.out.println("你选择了曹操");
aiComputer.aiName = "曹操";
break;
}
System.out.print("请输入你的姓名:");
user.username = s.next();
System.out.println(user.username + "vs" + aiComputer.aiName);
System.out.println();
System.out.print("要开始嘛?(y/n)");
if ("n".equals(s.next())) {
System.out.println("系统退出");
return;
}
while (flag) {
boolean userFlag = true;
System.out.println("请出拳:1.剪刀 2.石头 3.布(输入相应数字):");
String i = s.next();
while (userFlag) {
if ("1".equals(i) || "2".equals(i) || "3".equals(i)) {
userFlag = false;
aiFist = aiComputer.showFist();
System.out.println("你出拳:" + user.showFist(i));
System.out.println(aiComputer.aiName + "出拳:" + aiFist);
if (user.showFist(i).equals("石头") && aiFist.equals("剪刀")) {
System.out.println("恭喜,你赢了");
user.winNum++;
} else if (user.showFist(i).equals("石头") && aiFist.equals("布")) {
System.out.println("可惜,你输了");
aiComputer.winNum++;
} else if (user.showFist(i).equals("剪刀") && aiFist.equals("布")) {
System.out.println("恭喜,你赢了");
user.winNum++;
} else if (user.showFist(i).equals("剪刀") && aiFist.equals("石头")) {
System.out.println("可惜,你输了");
aiComputer.winNum++;
} else if (user.showFist(i).equals("布") && aiFist.equals("石头")) {
System.out.println("恭喜,你赢了");
user.winNum++;
} else if (user.showFist(i).equals("布") && aiFist.equals("剪刀")) {
System.out.println("可惜,你输了");
aiComputer.winNum++;
} else if (user.showFist(i).equals(aiFist)) {
System.out.println("和局");
user.drawNum++;
}
System.out.print("是否要开始下一轮(y/n):");
if ("n".equals(s.next())) {
System.out.println("---------------------------------------");
flag = false;
System.out.println(user.username + "vs" + aiComputer.aiName);
System.out.println("对战次数:" + (user.winNum + user.drawNum + aiComputer.winNum));
System.out.println("姓名" + "\t" + "得分");
System.out.println(user.username + "\t" + user.winNum);
System.out.println(aiComputer.aiName + "\t" + aiComputer.winNum);
if (user.winNum > aiComputer.winNum) {
System.out.println("结果:恭喜恭喜");
} else if (user.winNum < aiComputer.winNum) {
System.out.println("结果:再接再厉");
} else {
System.out.println("结果:平手");
}
System.out.println("-----------------------------------");
System.out.println("是否开始下一局?(y/n):");
if ("y".equals(s.next())) {
initial();
} else {
System.out.println("系统退出!");
return;
}
}
} else {
System.out.println("您的输入无效,请重新输入:1.剪刀 2.石头 3.布(输入相应数字):");
i = s.next();
}
}
}
}
}