玩家的类文件,接收玩家输入的石头剪刀布
import java.util.Scanner; /接收键盘输入
public class day14_01 {
String Play1="玩家";
int fen=0; /记录分数
public String chuquan(){
/添加带返回值的方法,玩家出拳
Scanner a=new Scanner(System.in);
System.out.print("请输入你要出的拳:");
String temp=a.next(); /用于接收玩家输入的文字
return temp; /返回玩家输入的文字
}
}
电脑的类文件,接收电脑随机的石头剪刀布
public class day14_02 {
String Npc="电脑";
int fen=0; /记录分数
public String chuquan(){
/添加带返回值的方法,电脑出拳
int a=1+(int)(Math.random()*3); /随机数字1-3;
String chu="0";
switch (a){
/switch结构
case 1: /如果随机数是1,就返回石头
chu="石头";
break;
case 2: /如果随机数是2,就返回剪刀
chu="剪刀";
break;
case 3: /如果随机数是3,就返回布
chu="布";
break;
}
System.out.println("电脑出的是:"+chu);
return chu; /返回电脑的文字
}
}
裁判的类文件,判断输赢和得分
public class day14_03 {
String Peferee="裁判";
public void pd(String wj,String dn,day14_01 a,day14_02 b){
/添加判断输赢并定义参数的方法,参数用来记录得分
/用if结构判断输赢,第一个if判断玩家获胜的3种可能
if((wj.equals("石头")&&dn.equals("剪刀"))||(wj.equals("剪刀")&&dn.equals("布"))||(wj.equals("布")&&dn.equals("石头"))){
System.out.println("玩家获胜!得分+1");
a.fen+=1; /玩家得分+1
/第二个else if判断电脑获胜的3种可能
}else if((wj.equals("剪刀")&&dn.equals("石头"))||(wj.equals("石头")&&dn.equals("布"))||(wj.equals("布")&&dn.equals("剪刀"))){
System.out.println("电脑获胜!得分+1");
b.fen+=1; /电脑得分+1
/第三个else是玩家和电脑都没获胜,那就是平局了
}else{
System.out.println("平局!");
}
System.out.println("玩家/电脑:\t"+a.fen+"/"+b.fen);
}
}
游戏的类文件,用来进行游戏和记录得分
public class day14_04 {
String Game="游戏";
String starGame="开始游戏";
public void ks(){
/添加开始游戏的方法
System.out.println(starGame);
day14_01 wj=new day14_01(); /定义玩家的类
day14_02 dn=new day14_02(); /定义电脑的类
day14_03 cp=new day14_03(); /定义裁判的类
for(;;){
/无限循环,进行猜拳小游戏
String wjq=wj.chuquan(); /调用玩家的方法并接收返回值
String dnq=dn.chuquan(); /调用电脑的方法并接收返回值
cp.pd(wjq,dnq,wj,dn); /调用裁判的方法,并把接收的返回值,给裁判,四个分别是,玩家出的拳,电脑出的拳,玩家的分数,电脑的分数
}
}
}
入口文件,用于开始游戏
public class day14_05 {
public static void main(String[]args){
day14_04 g=new day14_04(); /定义游戏的类
g.ks(); /调用游戏的方法
}
}
import java.util.Scanner; /接收键盘输入
public class day14_06 {
String Play1="玩家";
int fen=0; /记录分数
public int chuquan(){
/添加带返回值的方法,玩家出拳
Scanner a=new Scanner(System.in);
System.out.print("请输入数字\t1:石头\t2:剪刀\t3:布:");
int temp=a.nextInt(); /用于接收玩家输入的数字
String chu="1";
switch (temp){
/switch结构
case 1: /如果输入的是1,就返回石头;
chu="石头";
break;
case 2: /如果输入的是2,就返回剪刀;
chu="剪刀";
break;
case 3: /如果输入的是3,就返回布;
chu="布";
break;
default:
System.out.println("输入错误,请重新开始");
}
System.out.println("玩家出的是:"+chu);
return temp; /返回玩家输入的文字
}
}
电脑的类文件,接收电脑随机的石头剪刀布
public class day14_07 {
String Npc="电脑";
int fen=0; /记录分数
public int chuquan(){
/写一个带返回值的方法,电脑出拳
int a=1+(int)(Math.random()*3); /随机数字1-3;
String chu="0";
switch (a){
/switch结构
case 1: /如果随机数是1,就打印出的石头
chu="石头";
break;
case 2: /如果随机数是2,就打印出的剪刀
chu="剪刀";
break;
case 3: /如果随机数是3,就打印出的布
chu="布";
break;
}
System.out.println("电脑出的是:"+chu);
return a; /返回电脑随机的数字
}
}
裁判的类文件,判断输赢和得分
public class day14_08 {
String Peferee="裁判";
public void pd(int wj,int dn,day14_06 a,day14_07 b){
/写一个判断输赢并定义参数的方法,参数用来记录得分
/用if结构判断输赢,第一个if判断玩家获胜的3种可能,1是石头,2是剪刀,3是布
if((wj==1&&dn==2)||(wj==2&&dn==3)||(wj==3&&dn==1)){
System.out.println("玩家获胜!得分+1");
a.fen+=1; /玩家得分+1
/第二个else if判断电脑获胜的3种可能
}else if((wj==2&&dn==1)||(wj==3&&dn==2)||(wj==1&&dn==3)){
System.out.println("电脑获胜!得分+1");
b.fen+=1; /电脑得分+1
/第三个else是玩家和电脑都没获胜,那就是平局了
}else{
System.out.println("平局!");
}
System.out.println("玩家/电脑:\t"+a.fen+"/"+b.fen);
}
}
游戏的类文件,用来进行游戏和记录得分
public class day14_09 {
String Game="游戏";
String starGame="开始游戏";
public void ks(){
/写一个开始游戏的方法
System.out.println(starGame);
day14_06 wj=new day14_06(); /定义玩家的类
day14_07 dn=new day14_07(); /定义电脑的类
day14_08 cp=new day14_08(); /定义裁判的类
for(;;){
/无限循环,进行猜拳小游戏
int wjq=wj.chuquan(); /调用玩家的方法并接收返回值
int dnq=dn.chuquan(); /调用电脑的方法并接收返回值
cp.pd(wjq,dnq,wj,dn); /调用裁判的方法,并把接收的返回值,给裁判,四个分别是,玩家出的拳,电脑出的拳,玩家的分数,电脑的分数
}
}
}
入口文件,用于开始游戏
public class day14_10 {
public static void main(String[]args){
day14_09 g=new day14_09(); /定义游戏的类
g.ks(); /调用游戏的方法
}
}