java猜拳游戏三局,分别显示每局对局情况并展示所以最终结果,并统计胜场
import java.util.Scanner;
import java.util.Random;
public class GuessFist{
public static void main(String[] args){
int[][] gamerecord = new int[3][3];
String [] ifwinrecord = new String[3];
Scanner myScanner = new Scanner(System.in);
Random myRandom = new Random();
Player za = new Player();
Pc pc1 = new Pc();
Judget judget = new Judget();
Count counter = new Count();
int num1;
int num2;
int num;
for(int i = 0 ;i <3 ;i++ ){
System.out.println("请输入您的出拳:0-石头,1-剪刀,2-布");
num = myScanner.nextInt();
num1 = za.getPlayerNum(num);
num2 = pc1.getPcNum();
gamerecord[i][0] = i;
gamerecord[i][1] = za.getPlayerNum(num1);
gamerecord[i][2] = pc1.getPcNum();
ifwinrecord[i] = judget.JudgetGame(za.getPlayerNum(num1),pc1.getPcNum());
counter.playerwinnum(ifwinrecord[i]);
System.out.println("局数\t玩家出拳\t电脑出拳\t胜负状况" );
System.out.println(i+1 + " " + gamerecord[i][1] + " \t\t" + gamerecord[i][2] + " \t" + ifwinrecord[i] );
}
System.out.println("========分割线下面是结果表=========");
System.out.println("局数\t玩家出拳\t电脑出拳\t胜负状况" );
for(int n = 0; n < gamerecord.length ;n++){
System.out.println(n + " " + gamerecord[n][1] +" "+ " \t\t" + gamerecord[n][2] + " \t\t" + ifwinrecord[n] );
}
System.out.println("========程序执行完毕,结果表如上=========");
System.out.println("玩家总共赢了" + counter.playerwincount);
}
}
class Player{
int playernum ;
public int getPlayerNum(int num){
if(num >= 0 && num<=2){
this.playernum = num;
return this.playernum;
}else{
System.out.println("输入不规范");
return 0 ;
}
}
}
class Pc{
int pcnum;
public int getPcNum(){
this.pcnum = (int)Math.random()*3;
return this.pcnum;
}
}
class Judget{
String ifwin;
public String JudgetGame(int playernum, int pcnum){
if(pcnum == playernum){
return "双方平" ;
}else if((playernum == 0 && pcnum == 1)||(playernum == 1 && pcnum == 2)||(playernum == 2 && pcnum == 0)){
return "玩家赢";
}else
return "电脑赢";
}
}
class Count{
int playerwincount = 0;
public int playerwinnum(String result){
if(result.equals("玩家赢")){
return ++(this.playerwincount);
}else
return this.playerwincount;
}
}