您的位置 首页 java

斗地主游戏-java实现思路逻辑解析

斗地主游戏-java实现思路逻辑解析

最近闲来无事,又想起了小时候比较爱玩的斗地主游戏。今天就给大家扒拉扒拉吧!斗地主,包括新牌,分牌,码牌,叫地主等功能…

难的主是逻辑的分析,把逻辑转化成代码是一种能力,这种能力需要多练习总结。

问题

要求实现斗地主游戏发牌过程,打印三个玩家的牌和底牌。在不看底牌的情况下,统计出三个玩家的炸弹数;

S(small)代表小王,B(big)代表大王

斗地主游戏-java实现思路逻辑解析

思路分析

全部用数字代表牌的大小和花色,这样可以方便的进行存储分发,只有在最终的打印牌的时候再进行实际的花色和大小的转化;

如何随机发牌,如何统计炸弹数量?

1,牌库包括54张牌,用二维数组进行存储4行14列(行代表花色,列代表牌的大小)

1)难点在于如何存储大小王

因为接下来是进行随机发放给三个人的,所以随便用两行的第14列来存储大小王,(也用数字代表大小王),剩下的两行的第14列置为空即可;

2)定义布尔类型的二维数组,也是4行14列,把牌库中有牌的下标置成true;

斗地主游戏-java实现思路逻辑解析

2,随机生成牌

随机生成数字0—3来控制行数,即牌的花色;

随机生成数字0—14来控制列数,即牌的大小;

3,随机分发牌

1)随机生成数字1—3,对3求余,0代表第一个人,1代表第二个人,2代表第三个人;

2)判断是否已经发出去了(用布尔数组进行判断,true代表没有发出去)

用一位数组存储发出去的花色,发出去后用布尔数组把下标置成false;同时计算发出去牌的数量;

3)同理为第二,第三个人随机发牌;

4)条件判断,当已经发出去51张牌时,跳出循环;

斗地主游戏-java实现思路逻辑解析

4,打印生成的牌和底牌

1)遍历布尔型数组和此时的牌库,找出下标和牌的大小,即可得到底牌;

2)用存储花色的一位数组和存储牌大小的一位数组进行遍历求生成的牌的花色和大小;

5,遍历统计每个人的炸弹数量

1)先统计大小王的个数,再进行双重循环遍历其他牌是否存在用炸弹;

2)同理,统计第二个人,第三个的;

好啦,以上就是关于斗地主游戏的逻辑的分析。好人做到底,需要游戏源码练习可以私信回复:源码,至于你能不能做成这个项目,学会它、实践它就要靠你自己了!

文章来源:智云一二三科技

文章标题:斗地主游戏-java实现思路逻辑解析

文章地址:https://www.zhihuclub.com/188465.shtml

关于作者: 智云科技

热门文章

网站地图