总效果:
--------------------欢迎进入游戏世界----------------------
****************
** 猜拳,开始**
****************
出拳规则:1、剪刀 2、石头 3、布
请选择对方角色(1、刘备 2、孙权 3、曹操):3
请输入你的姓名:美丽
美丽 VS 曹操 对战
要开始吗?(y/n) y
请出拳:1、剪刀 2、石头 3、布(输入相应数字):2
你出拳:石头
曹操出拳:剪刀
结果:恭喜,你赢了!
是否开始下一轮?(y/n) n
曹操 VS 王子
对战次数:1
姓名 得分
王子 1
曹操 0
恭喜恭喜!
一、gui类(界面)
package FingerGuessingGame;
public class gui {
public void Gui() {
System.out.println("------欢迎进入游戏世界------");
System.out.println("*********************");
System.out.println("** 猜拳,开始 ** ");
System.out.println("*********************");
System.out.println("出拳规则:1、剪刀 2、石头 3、布");
}
}
二、person类(用户类)
package FingerGuessingGame;
import java.util.Scanner;
public class person {
Scanner sc = new Scanner(System.in);
String pname = "";
String pfist = "";
public String name() {
System.out.print("请输入您的姓名:");
pname = sc.next();
return pname;
}
public String fist() {
System.out.print("请出拳:1、剪刀 2、石头 3、布(输入相应数字):");
int a = sc.nextInt();
switch (a) {
case 1:
pfist = "剪刀";
break;
case 2:
pfist = "石头";
break;
case 3:
pfist = "布";
break;
default:
System.out.println("***************************");
System.out.println("输入错误,请重新输入:");
break;
}
return pfist;
}
}
三、computer类(计算机类)
package FingerGuessingGame;
import java.util.Scanner;
public class computer {
Scanner sc = new Scanner(System.in);
String cname = "";
String cfist = "";
public String name() {
System.out.print("请选择对方角色(1、刘备 2、孙权 3、曹操):");
int a = sc.nextInt();
switch (a) {
case 1:
cname = "刘备";
break;
case 2:
cname = "孙权";
break;
case 3:
cname = "曹操";
break;
default:
System.out.println("***************************");
System.out.println("输入错误,请重新输入:");
break;
}
return cname;
}
public String fist() {
int a = (int) (Math.random() * 3 + 1);
switch (a) {
case 1:
cfist = "剪刀";
break;
case 2:
cfist = "石头";
break;
case 3:
cfist = "布";
break;
default:
System.out.println("***************************");
System.out.println("输入错误,请重新输入:");
break;
}
return cfist;
}
}
四、referee类(裁判类)
package FingerGuessingGame;
import java.util.Scanner;
public class referee {
Scanner sc = new Scanner(System.in);
person p = new person();
computer c = new computer();
gui g = new gui();
int count = 0;
int cintegral = 0;
int pintegral = 0;
public void rgui() {
g.Gui();
c.name();
p.name();
System.out.println(p.pname + "VS" + c.cname);
}
public void judge() {
if (p.pfist.equals("剪刀") && c.cfist.equals("石头") || p.pfist.equals("石头") && c.cfist.equals("布")
|| p.pfist.equals("布") && c.cfist.equals("剪刀")) {
System.out.println("对不起,您输给了" + c.cname);
cintegral++;
} else if (p.pfist.equals(c.cfist)) {
System.out.println("您与" + c.cname + "平局!");
} else {
System.out.println("恭喜,您赢了" + c.cname);
pintegral++;
}
}
public void StartGame() {
System.out.print("您是否要开始?(y/n):");
String a = sc.next();
switch (a) {
case "y":
p.fist();
System.out.println("您出拳:" + p.pfist);
c.fist();
System.out.println(c.cname + "出拳:" + c.cfist);
judge();
count++;
System.out.print("您是否要开始下一局?(y/n):");
String b = sc.next();
System.out.println("--------------------------");
switch (b) {
case "y":
StartGame();
break;
case "n":
System.out.println("游戏结束!!");
break;
}
case "n":
break;
}
}
public void GameOver() {
System.out.println("--------------------------");
System.out.println("您总共玩了" + count + "局!您的得分情况如下:");
System.out.println("姓名\t得分");
System.out.println(p.pname + "\t" + pintegral);
System.out.println(c.cname + "\t" + cintegral);
}
}
五、game类
package FingerGuessingGame;
public class game {
public static void main(String[] args) {
referee r=new referee();
r.rgui();
r.StartGame();
r.GameOver();
}
}