手机java猜拳游戏代码 手机java猜拳游戏代码是什么( 三 )


int[] resultArray = new int[3];
//创建两名选手
Player p1 = new Player("张三");
Player p2 = new Player("李四");
for (int i = 0; isum; i++) {
//根据总局数进行pk
int result = pk(p1, p2);
if (result == 1) {
resultArray[0]++;
} else if (result == -1) {
resultArray[1]++;
} else {
resultArray[2]++;
}
}
System.out.println("");
System.out.println("最终结果统计:");
System.out.println("选手[" + p1.getPlayerName() + "]获胜局数为:" + resultArray[0] + ",胜率为:" +
new BigDecimal(resultArray[0]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");
System.out.println("选手[" + p2.getPlayerName() + "]获胜局数为:" + resultArray[1] + ",胜率为:" +
new BigDecimal(resultArray[1]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");
System.out.println("平局局数为:" + resultArray[2] + ",平局率为:" +
new BigDecimal(resultArray[2]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");
}
//0-石头 1-剪刀 2-布
//return 0:平局 1:p1获胜 -1:p2获胜
private static int pk(Player p1, Player p2) {
System.out.println("--------------------");
int a = p1.guess();
int b = p2.guess();
System.out.print("\n对局结果:");
//出拳相同平局
if (a == b) {
System.out.println("平局");
return 0;
}
//p1获胜条件:p1出石头时p2出剪刀,p1出剪刀时p2出步,p1出布时p2出石头
else if ((a == 0b == 1) || (a == 1b == 2) || (a == 2b == 0)) {
System.out.println("选手[" + p1.getPlayerName() + "]获胜");
return 1;
}
//p2获胜条件:p1出石头时p2出布,p1出剪刀时p2出石头,p1出布时p2出剪刀
else if ((a == 0b == 2) || (a == 1b == 0) || (a == 2b == 1)) {
System.out.println("选手[" + p2.getPlayerName() + "]获胜");
return -1;
} else {
//因为规定了随机数产生0、1、2 , 所以其实不会走到本分支
throw new IllegalArgumentException("本局无效");
}
}
}
对局5局的运行结果:
我这里就只能统计当前游戏的数据了,如果你想统计多局游戏总的胜率信息,那么需要将每一局的比赛结果写到txt文件里,最终根据txt文件内容统计即可 。
java代码猜拳游戏相关代码请教comp是电脑产生的随机数字(电脑出的拳),people 是人出的拳 。因为剪刀石头布只有 12 3
。如果电脑的数字比的你刚好大1 , 就是它比你的大 。如21,32对应就是(石头大于剪刀,布大于石头) 。但也有可能是剪刀大于布。那么剪刀的位子是1 ,布的位子是3. 所以当电脑数字减你的数字等于2时 就是(电脑出的布 ,你出的石头这样的情况了) 。
所以是if((comp-people)==-1||(comp-people)==2) 这两者结合就是你赢的时候
用JAVA编写一个猜拳游戏【5局3胜】import java.util.Scanner;
/**
* 用户输入石头手机java猜拳游戏代码,剪子,布 , 和系统随机产生的对比 , 【5局3胜】
* @author ww
*
*/
public class Mora {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入石头剪子布...");
int userWin = 0;//用户赢的次数
int computerWin = 0;//计算机赢的次数
for(int i=0;i5;i++){
String user = s.next();
int user_int;
int computer = (int) (Math.random()*3);
//将石头剪子布转换成数字,容易比较
//石头-0,剪子-1 , 布-2
if("石头".equals(user)){
user_int = 0;
}else if("剪子".equals(user)){

推荐阅读