用Java实现猜丁壳(石头剪刀布)
我们在控制台输入数字1,2,3分别代表石头,剪刀,布。让后人机(电脑玩家)随机生成石头剪刀布中的一个,比较后得出比分与赢的一方。率先获得5场胜利的玩家获胜。
前言
首先创建如下图所示的包、类、接口。
运行时仅需要运行TestGame即可
运行界面如下:
一、代码实现
1.util工具包
util工具包中的Constants类
package guessgame.util;
/**
* 常量类
*/
public class Constants {
public static final int STONE=0;//石头
public static final int SCISSORS=1;//剪刀
public static final int CLOTH=2;//布
public static final int WIN_COUNT=5;
public static final String [] names={
"石头","剪刀","布"};
}
util工具包中的MyUtils类
package guessgame.util;
import java.util.Random;
/**
* 工具类
*/
public class MyUtils {
private MyUtils(){
}
public static int getRandom(int n){
return new Random().nextInt(n+1);//(0,n+1)
}
public static int getRandom(int min,int max)//(10,30)
{
//return Math.random();//(0,1) 0.112233
return (int)(Math.random()*(max-min+1))+min;
}
}
2.service包
Player玩家类:
package guessgame.service;
/**
* 玩家类
*/
public abstract class Player {
private String name;
private int value;//出拳 0,1,2
private int winCount;//取胜的局数
public Player() {
}
public Player(String name) {
this.name = name;
}
public Player(String name, int value, int winCount) {
this.name = name;
this.value =