package Four;
import java.util.Random;
import java.util.Scanner;
public class MoraGame {
public static void main(String[] args) {
Tom t = new Tom();
//记录最后输赢的次数
int isWinCount = 0;
//创建一个二维数组,接收局数,Tom出拳情况以及电脑出拳情况
int[][] arr1 = new int[3][3];
int j = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("你想进行几次对局:");
int n=scanner.nextInt();
// 创建一个一维数组,接收输赢的情况
String[] arr2 = new String[n];
for (int i = 0; i < n; i++) {//比赛n次
// 获取玩家出拳
System.out.println("请输入你要出什么(0石头1剪刀2布)");
int num = scanner.nextInt();
t.setTomGuessNum(num);
int tomGuess = t.getTomGuessNum();
arr1[i][j + 1] = tomGuess;
// 获取电脑出拳
int comGuess = t.computerNum();
arr1[i][j + 2] = comGuess;
// 将玩家出拳与电脑出拳做比较
String isWin = t.vsComputer();
arr2[i] = isWin;
arr1[i][j] = t.count;
// 对每一句情况进行输出
System.out.println("=========================================");
System.out.println("局数\t玩家出拳\t电脑出拳\t输赢情况");
System.out.println(t.count + "\t" + tomGuess + "\t\t" + comGuess + "\t\t" + t.vsComputer());
System.out.println("=========================================");
System.out.println("\n\n");
isWinCount = t.winCount(isWin);
}
// 对最终结果进行输出
System.out.println("局数\t玩家出拳\t电脑出拳\t输赢情况");
for (int a = 0; a < arr1.length; a++) {
for (int b = 0; b < arr1[a].length; b++) {
System.out.print(arr1[a][b] + " \t ");
}
System.out.print(arr2[a]);
System.out.println();
}
System.out.println("你赢了:" + isWinCount + "次");
}
}
// Tom
class Tom {
// 玩家出拳
int tomGuessNum; //0,1,2
// 电脑出拳
int comGuessNum; //0,1,2
// 玩家赢得次数
int winCountNum;
// 总局数
int count = 1;
/**
*电脑随机生成猜拳的数字
*/
public int computerNum() {
Random r = new Random();
comGuessNum = r.nextInt(3); // 0-2
// System.out.println(comGuessNum);
return comGuessNum;
}
/**
*玩家猜拳
*/
public void setTomGuessNum(int tomGuessNum) {
//判断输入数值是否有效
if (tomGuessNum > 2 || tomGuessNum < 0) {
throw new IllegalArgumentException("输入错误");
}
this.tomGuessNum = tomGuessNum;
}
public int getTomGuessNum() {
return tomGuessNum;
}
/**
*比较输赢
*/
public String vsComputer() {//0石头1剪刀2布
if (tomGuessNum == 0 && comGuessNum == 1) {
return "你赢了";
} else if (tomGuessNum == 1 && comGuessNum == 2) {
return "你赢了";
} else if (tomGuessNum == 2 && comGuessNum == 0) {
return "你赢了";
} else if (tomGuessNum == comGuessNum){
return "平局";
} else {
return "你输了";
}
}
/**
*记录玩家赢的次数
*/
public int winCount(String s) {
count++; //控制赢的次数
if (s.equals("你赢了")) { //统计赢的次数
winCountNum++;
}
return winCountNum;
}
}
猜拳 游戏
最新推荐文章于 2023-12-22 09:47:03 发布