个人的第一个小项目
梭哈小游戏
项目说明
此项目可以让几个人来同时来梭哈, 梭哈介绍,这里写的是5牌梭哈。
项目实现过程
- 首先有一个card类,来模拟每张扑克牌,card类实现了Comparable方法,用来比较扑克牌的大小。
- Porker类,其实是52张扑克牌的集合,里面有洗牌(初始化),发牌的动作。洗牌调用collection的shuffle方法。
- 梭哈牌类,这里定义的是5牌梭哈,根据拿到的牌来组成梭哈牌,里面定义了接到牌的动作。并且有各种判断是否为同花,4条,3条,两对,单个等方法,并运用这些方法来进行梭哈牌大小的比较。
- 玩家类,初始化,每个人手上的赌注为1000,赢的次数为0,并且有决定下注,跟牌,不跟牌等方法。
- 游戏类,初始化方法,初始化扑克牌,初始化1~5个玩家,每轮游戏,每个人先发两张牌,第一张为底牌,只能自己看见,上一轮发牌中牌最大的人决定赌注,其他人来决定是否要跟,当只有一个人在局中的时候,这一轮结束,那个人获胜,否则所有参与的人是梭哈牌最大的人获胜,赢得牌面上所有的赌注,胜利次数+1.
项目中暂未实现的地方
- 当一个人的牌最大的时候,现实中他可以决定下注或者放弃,但目前没有写放弃方法。
- 每次输入赌注或者是否要跟的时候,没有相应的输入检查,如果输入的类型不对,会引起程序的错误。
项目经验
- 需要在写项目之前就要想好有多少个类,每个类的方法有哪些,然后每个方法,每个类来进行实现测试,如果临时去想变量,方法这会导致代码混乱,逻辑不清晰。
- 每次写好一个方法之后就需要有相应的测试,保证每一步对了再进行后面的,这样的程序会相对比较强壮,出现问题了也比较好查问题。把任务分割开来,实现起来也相对比较容易。
项目存于Github中,梭哈游戏地址。