“斗地主”是全国民间流行的一款扑克牌娱乐游戏,游戏最少由3个玩家进行,最多5人,游戏逻辑简单易于上手,老少皆宜,是我们日常生活中一种休闲方式。游戏中,第一轮抓到地主的玩家第一个出牌,可以出包含最小牌的任意牌,谁先出完牌谁就胜利,为农民的一方可以以多人合作的方式让已方多出牌。该扑克牌游戏最初流行于中国湖北武汉市汉阳区,现已逐渐在全球各地流行。
如果有想学习java的同学,可来我们的java技术学习QQ群:928204055,免费送整套系统的java视频教程!我每晚上8点还会在群内直播讲解Java知识,欢迎大家前来学习哦~下面是部分资料截图:
游戏思路:
1、创建一个扑克牌的实体类Poker,设置了四个参数:花色、数字、牌值(判断大小)、是否地主牌,实现getset方法和构造方法;
2、创建一个玩家的实体类Player,设置了四个参数: 初始牌集合,排序后牌集合,牌值集合,是否地主,实现getset方法和构造方法;
3、洗牌:循环嵌套花色数组跟数字数组生成52个Poker,手动加入大小王Poker,放进map(int,Poker)里面,利用Collections.shuffle随机排序map的key,再根据key生成排序后的Poker集合
4、发牌:生成3个玩家对象,拿到洗牌后的集合,前51张牌为玩家牌,后3张为地主牌,在51张牌中随机一张为地主牌,遍历玩家牌分配个每一个Player,同时根据玩家牌的牌值生成集合grades存进Player对象中,将grades转为int数组并进行升序排序,根据grade取得新Poker集合分配给玩家。
实现代码如下:
Poker类:
Player类:
洗牌:
发牌:
效果如下:
欢迎关注胖胖爱Java的简书号,可视化学习java,每天更新文章,让Java学习更加简单。
声明:本文内容来源于网络,如有侵权请联系删除
网友评论