斗地主(^-^)发牌程序

 

有很多朋友斗想编一个自己的小游戏,今天我为大家带来的是,如何用java封装对象写斗地主的发牌程序。

首先我们知道一副牌一共有54张,其中大小王是特殊的没有4个花色,其余牌都是有是个花色的。

所以我们根据面向对象的思想,建3个类,分别是大小王的类、其余牌的一个类、一个所有牌的类。分别取名为Booskard、Numkard、Kard(这三个类名可以随机取但要有逻辑性)

让大小王的类和4种花色牌的类都继承所有牌的那个类。

 

 

大小王的类


 

4种花色牌的类

所有牌的类,有点空空的感觉,啥代码都没有(-_-),因为他只是一个被继承的父类

对象类已经准备好了,下面就开始我们的主要代码操作,创建一个有main方法的类

第一步:我们建一个牌的集合,创建一个花色数组,创建一个A-K的数组。

第二步:把牌添加进牌盒的集合,因为我们的牌除了大小王,每一种牌都有4种花色,这里我用了一个双重for实现了这个牌的各种花色的添加效果,外层for控制花色,内层for控制pai的样式变换,这里我运用了多态原理创建子类对象,实现循环添加到牌盒,顺带把大小王的代码在下面写了添加进牌盒去。

这行代码是为了打乱牌的顺序,简单的说就是洗牌。

第三步:创建三个玩家摸的手牌的集合,然后用循环通过k的值取余3(玩家个数)的值来给指定的玩家发牌,细心的你肯定发现为啥for循环哪里有个-3,那是因为我们要留三张底牌不可能吧底牌都发了吧。

这行代码是为了获取刚才我们没有发的底牌三张。

第四步:终于到了看我们发的牌的效果的时候了,你会发现我们发的牌你看不懂,可能心里在想,我是不是被博客主坑了我的牌都看不见,博主很负责的告诉你,你绝对没有被坑,看不到牌的原因是,哪些是每一张牌的对象,但是看不见属性,这是你需要在大小王的类里面按住shift+alt+s选择倒数第四个创建一个toString方法然后把返回值改为name,同样的道理把其它牌的那个类创建一个toString方法然后把返回值改为color+name,大功告成,快去试试吧,是不是看得见牌了。

初次写技术博客,新手上道多多关照,欢迎指出错误,谢谢欣赏。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值