梭哈小游戏

个人的第一个小项目

梭哈小游戏

项目说明

此项目可以让几个人来同时来梭哈, 梭哈介绍,这里写的是5牌梭哈。

项目实现过程

  1. 首先有一个card类,来模拟每张扑克牌,card类实现了Comparable方法,用来比较扑克牌的大小。
  2. Porker类,其实是52张扑克牌的集合,里面有洗牌(初始化),发牌的动作。洗牌调用collection的shuffle方法。
  3. 梭哈牌类,这里定义的是5牌梭哈,根据拿到的牌来组成梭哈牌,里面定义了接到牌的动作。并且有各种判断是否为同花,4条,3条,两对,单个等方法,并运用这些方法来进行梭哈牌大小的比较。
  4. 玩家类,初始化,每个人手上的赌注为1000,赢的次数为0,并且有决定下注,跟牌,不跟牌等方法。
  5. 游戏类,初始化方法,初始化扑克牌,初始化1~5个玩家,每轮游戏,每个人先发两张牌,第一张为底牌,只能自己看见,上一轮发牌中牌最大的人决定赌注,其他人来决定是否要跟,当只有一个人在局中的时候,这一轮结束,那个人获胜,否则所有参与的人是梭哈牌最大的人获胜,赢得牌面上所有的赌注,胜利次数+1.

项目中暂未实现的地方

  1. 当一个人的牌最大的时候,现实中他可以决定下注或者放弃,但目前没有写放弃方法。
  2. 每次输入赌注或者是否要跟的时候,没有相应的输入检查,如果输入的类型不对,会引起程序的错误。

项目经验

  1. 需要在写项目之前就要想好有多少个类,每个类的方法有哪些,然后每个方法,每个类来进行实现测试,如果临时去想变量,方法这会导致代码混乱,逻辑不清晰。
  2. 每次写好一个方法之后就需要有相应的测试,保证每一步对了再进行后面的,这样的程序会相对比较强壮,出现问题了也比较好查问题。把任务分割开来,实现起来也相对比较容易。

项目存于Github中,梭哈游戏地址

一.扑克牌游戏 一副扑克牌去除大小王,剩余52张,A--K,红心,方块,黑桃,梅花四种花色。然后把这一副牌发给两个人,每人分得五张,比较这两人手中牌的大小。 大小的判定规则暂定如下: 牌型比较:同花顺>铁支>葫芦>同花>顺子>三条>二对>对子>散牌。 数字比较:A>K>Q>J>10>9>8 花式比较:黑桃>红桃>草花>方片 牌型说明: 同花顺:拥有五张连续性同花色的顺子。以A为首的同花顺最大。 铁支:四张相同数字的牌,外加一单张。比数字大小,「A」铁支最大 葫芦:由「三条」加一个「对子」所组成的牌,若别家也有此牌型,则比三条数字大小 同花:不构成顺子的五张同花色的牌。先比数字最大的单张,如相同再比第二支、依此类推 顺子:五张连续数字的牌组。 以A为首的顺子最大,如果大家都是顺子,比最大的一张牌,如果大小还一样就比这张牌的花式 三条:牌型由三张相同的牌组成,以A为首的三条最大 二对:牌型中五张牌由两组两张同数字的牌所组成。若遇相同则先比这副牌中最大的一对,如又相同再比第二对,如果还是一样,比大对子中的最大花式 对子:牌型由两张相同的牌加上三张单张所组成。如果大家都是对子,比对子的大小,如果对子也一样,比这个对子中的最大花色 散牌:单一型态的五张散牌所组成,不成对(二对),不成三条,不成顺(同花顺),不成同花,不成葫芦,不成铁支。先比最大一张牌的大小,如果大小一样,比这张牌的花色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值