模拟斗地主发牌功能的设计与实现

本文介绍了一个模拟斗地主发牌功能的设计,包括牌类、玩家类和游戏类的实现。每个牌包含牌面值、花色和大小属性,玩家有编号、姓名、地主标志和手牌集合。游戏类主要任务是生成牌组,随机选定地主,以及公平分配牌。通过随机算法确保三名玩家中的一位成为地主,地主获得额外的三张牌。
摘要由CSDN通过智能技术生成

模拟斗地主发牌功能的设计与实现

参考斗地主的游戏规则,完成一个发牌的功能(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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值