//设计成员变量,成员方法,让电脑猜拳
//电脑每次随机生成0,1,2((int)Math.random()*3)
//0表示石头、1表示剪刀、2表示布
//并要可以显示输赢次数
//
import java.util.Random;
import java.util.Scanner;
public class hsp261{
public static void main(String[] args) {
//创建一个玩家对象
Tom t = new Tom();
//记录最后赢的次数
int isWinCount = 0;
//记录最后输的次数
int isLossCount = 0;
//记录总局数
int num = 10;
//创建一个接收器
Scanner myScanner = new Scanner(System.in);
for(int i = 1;i<=num;i++){
//获得玩家出的拳
System.out.println("共计比赛" + num +"局" + "这是第" + t.count+"局");
System.out.println("请出拳");
int scannerNum = myScanner.nextInt();
int tomGuessNum = t.setTomGuessNum(scannerNum);
//获得电脑出的拳
int comGuessNum = t.computerNum();
//进行比较
String s = t.vsComputer();
System.out.println("第" + t.count + "局");
System.out.println("你出的拳为"+tomGuessNum+"\t"+"电脑出拳为"+comGuessNum+"\t"+s);
//每局比完 更新赢得次数
isWinCount = t.winCount(s);
//每局比完 更新输得次数
isLossCount = t.lossCount(s);
}
System.out.println("共计比赛" + num +"局");
System.out.println("你赢了" + isWinCount + "次" + "你输了" + isLossCount + "次"
+"平局" + (num-isWinCount-isLossCount) + "次");
}
}
//Tom类
class Tom{//核心代码
//玩家出拳的类型
int tomGuessNum;//0,1,2
//电脑出拳的类型
int comGuessNum;//0,1,2
//玩家赢得次数
int winCountNum;
//玩家输得次数
int lossCountNum;
//记录这是第几局
int count = 1;
/**
* 电脑随机生成猜拳的数字的方法
* @return
*/
public int computerNum(){
//生成随机数的方法
Random r = new Random();
//[n,m)
//int num=r.nextInt(m-n+1)+n;
comGuessNum = r.nextInt(3);//生成0,1,2
return comGuessNum;
}
/**
* 设置玩家猜拳的数字的方法
* @param tomGuessNum
*/
public int setTomGuessNum(int tomGuessNum){
if(tomGuessNum>2 || tomGuessNum<0){
return -1;
}else{
return tomGuessNum;
}
}
/**
* 比较猜拳的结果
* @return 玩家赢返回true,否则返回false
*/
public String vsComputer() {
//比较巧
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 "你输了";
}
}
/**
* 记录玩家赢的次数
* @return
*/
public int winCount(String s){
count++;
if(s.equals("你赢了")){
winCountNum++;
}
return winCountNum;
}
/**
* 记录玩家输的次数
* @return
*/
public int lossCount(String s){
if(s.equals("你输了")){
lossCountNum++;
}
return lossCountNum;
}
}
05-21
4715
01-23
1万+