模拟斗地主发牌功能的设计与实现
参考斗地主的游戏规则,完成一个发牌的功能(54张牌,考虑点数,花色;三名玩家,其中地主比其他玩家多3张牌)
牌类
牌有牌面值、花色及实际大小三个属性
import java.util.Objects;
public class Card {
private String name;//牌面值
private String flower;//花色
private int num;//大小点数
public Card() {
super();
}
public Card(String name, String flower, int num) {
super();
this.name = name;
this.flower = flower;
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFlower() {
return flower;
}
public void setFlower(String flower) {
this.flower = flower;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
@Override
public String toString() {
if (Objects.nonNull(flower)) {
return flower + name + "-" + num + "点";
}
return name + "-" + num + "点";
}
}
玩家类
玩家有编号、姓名、是否是地主、手中牌集合四个属性
import java.util.ArrayList;
public class Player {
private int id;
pri