// 石头、剪刀、布猜拳游戏
import java.util.Scanner;
public class Guess {
// 定义类的成员变量
int c_Person; // 机器人名字代号
String c_PersonName = ""; // 机器人名字
String m_PersonName; // 玩家名字
int m_PersonNum; // 玩家选择的游戏数字选项
int c_PersonNum = (int)(Math.random()*3+1); // 取电脑游戏数字的随机数
String m_list = ""; // 标记玩家的游戏选项
String c_list = ""; // 标记电脑的游戏等式
int fireNum = 0 ; // 记录对战次数
int m_score = 0 ; // 记录玩家胜利次数
int c_score = 0 ; // 记录电脑胜利次数
// 开始界面
public static void InterFace() {
System.out.println("-------------- 欢 迎 进 入 游 戏 世 界 -------------");
System.out.println("\n\t\t*****************");
System.out.println("\t\t** 猜拳, 开始 **");
System.out.println("\t\t*****************\n");
System.out.println("------------------------------------------------\n");
}
// 机器人设定
public void Select_C_Person() {
Scanner input = new Scanner(System.in);
System.out.println("*** 出拳规则:1.剪刀 2.石头 3.布 ***\n");
while(true){
System.out.print("请选择对方角色(1:刘备 2:孙权 3:曹操):");
if(input.hasNextInt()){
c_Person = input.nextInt();
if (c_Person==1 || c_Person==2 || c_Person==3){
break;
}else {
System.out.println("只能输入1,2,3三个数!\n");
}
} else {
input.next();
System.out.println("输入错误!\n");
}
}
switch (c_Person) {
case 1:
c_PersonName = "刘备";
break;
case 2:
c_PersonName = "孙权";
break;
case 3:
c_PersonName = "曹操";
break;
default:
System.out.println("只需1-3选择对方角色。");
}
}
// 玩家设定
public void Select_M_Person(){
// 输入玩家
Scanner input = new Scanner(System.in);
System.out.print("请输入你的姓名:");
m_PersonName = input.next();
System.out.println("\n" + m_PersonName + " VS " + c_PersonName + " 对战\n");
}
// 判断是否开始游戏
public void Game(){
Scanner input = new Scanner(System.in);
System.out.print("现在开始游戏吗?(y/n)");
String select = input.next();
while(true){
if (select.equals("y")){
Start(); // 开始游戏
fireNum++;
} else if (select.equals("n")) {
Result(); //游戏统计结果
break;
} else {
System.out.println("只能输入y或者n!!!!!");
}
System.out.print("\n要再来一局吗?(y/n)");
select = input.next();
}
}
// 游戏开始
public void Start(){
Scanner input = new Scanner(System.in);
while(true){
System.out.print("\n请出拳:1.剪刀 2.石头 3.布 (输入相应数字):");
if (input.hasNextInt()){
m_PersonNum = input.nextInt();
if (m_PersonNum==1 || m_PersonNum==2 || m_PersonNum==3){
break;
} else {
System.out.println("只能输入1,2,3三个数!\n");
}
} else {
input.next();
System.out.println("输入错误!\n");
}
}
// 玩家的选项
switch(m_PersonNum){
case 1:
m_list = "剪刀";
break;
case 2:
m_list = "石头";
break;
case 3:
m_list = "布";
break;
default:
System.out.println("只能输入1-3三个数字!!!");
}
// 电脑的选项
switch(c_PersonNum){
case 1:
c_list = "剪刀";
break;
case 2:
c_list = "石头";
break;
case 3:
c_list = "布";
break;
default:
System.out.println("只能输入1-3三个数字!!!");
}
Result_case();
}
// 判断输入结果
public void Result_case(){
if(m_PersonNum == c_PersonNum){
System.out.println("\n" + m_PersonName + "出拳: " + m_list);
System.out.println(c_PersonName + "出拳: " + c_list);
System.out.println("----------------------------------");
System.out.println("结果:-o- 和局,嘿嘿!");
System.out.println("----------------------------------");
} else if (m_PersonNum==1 && c_PersonNum==2 || m_PersonNum==2 && c_PersonNum==3 || m_PersonNum==3 && c_PersonNum==1){
System.out.println("\n" + m_PersonName + "出拳: " + m_list);
System.out.println(c_PersonName + "出拳: " + c_list);
System.out.println("----------------------------------");
System.out.println("结果: ⊙﹏⊙ 卖糕的,手气不会这么背吧!");
System.out.println("----------------------------------");
c_score++;
} else if (m_PersonNum==1 && c_PersonNum==3 || m_PersonNum==2 && c_PersonNum==1 || m_PersonNum==3 && c_PersonNum==2) {
System.out.println("\n" + m_PersonName + "出拳: " + m_list);
System.out.println(c_PersonName + "出拳: " + c_list);
System.out.println("----------------------------------");
System.out.println("结果:(∩_∩) 恭喜,你赢了!");
System.out.println("----------------------------------");
m_score++;
}
}
// 输出游戏统计结果
public void Result(){
System.out.println("+++++++++++++++++++++++++++");
System.out.println(m_PersonName + " VS " + c_PersonName + " 对战");
System.out.println("+++++++++++++++++++++++++++\n");
System.out.println("对战次数:" + fireNum);
System.out.println("\n姓名:\t成绩:");
System.out.println(m_PersonName + "\t" + m_score);
System.out.println(c_PersonName + "\t" + c_score);
if(m_score>c_score){
System.out.println("\n结果:恭喜恭喜!!!");
}else{
System.out.println("\n结果:再接再厉!!!");
}
System.out.println("\n\n---------------- 游 戏 结 束 !!! ---------------");
}
// 主执行程序
public static void main(String[] args){
Guess g = new Guess();
InterFace();
g.Select_C_Person(); // 选机器人
g.Select_M_Person(); // 玩家设定
g.Game(); // 游戏流程
}
}
石头、剪刀、布猜拳游戏
最新推荐文章于 2021-10-24 15:12:36 发布