首页 理论教育 实现扑克角色的方法-Android 游戏开发从入门到精通

实现扑克角色的方法-Android 游戏开发从入门到精通

时间:2023-10-22 理论教育 版权反馈
【摘要】:文件PokeType.java的功能是定义了斗地主游戏中的牌面类型,例如单牌、对牌、炸弹等,具体实现代码如下。文件Poke.java的功能是定义了斗地主游戏中的所有54张牌的面值,并按照指定的排列顺序显示在每一个玩家面前。利用must值来判断紧迫性,如果neesZd为true,则需要“炸弹”的配合,也就是到了一些关键关时刻。在检查炸弹的时候,也可根据紧迫性几率出牌,如果下家是和自己一伙的,则顺延给下家。定义类Poke,并通过函数show显示每一张扑克,具体实现代码如下。

实现扑克角色的方法-Android 游戏开发从入门到精通

文件PokeType.java的功能是定义了斗地主游戏中的牌面类型,例如单牌、对牌、炸弹等,具体实现代码如下。

文件Poke.java的功能是定义了斗地主游戏中的所有54张牌的面值,并按照指定的排列顺序显示在每一个玩家面前。类Poke定义了一些关于扑克牌的核心操作,例如洗牌、获取牌型和出牌等操作。作为一个关于扑克操作的工具栏,Poke中的所有方法全部是静态方法,可以直接通过类名调用,不实例化Poke类。

根据经验可知,洗牌六次可以达到最大的混乱度。但是,此处采用了一个随机算法,也就是让54张牌分别和随机生成的牌发生交换,这种方法没有常规洗牌那么的“随机性”,不过,作为置乱,也已经足够了。

在类Poke中给出了这样一个方法,可以直接从牌中选中能够打过card值的牌,如果没有则返回false。利用must值来判断紧迫性,如果neesZd为true,则需要“炸弹”的配合,也就是到了一些关键关时刻。另外,在选择拆牌的时候,考虑到“火箭”和“4个2”的牌是拥有绝对实力的,这样的牌都不能拆开。在检查炸弹的时候,也可根据紧迫性几率出牌,如果下家是和自己一伙的,则顺延给下家。文件Poke.java具体实现流程如下。

(1)定义类Poke,并通过函数show显示每一张扑克,具体实现代码如下。

(2)定义函数shuffle,使用0~53表示54张牌,使用for语句对54张牌中的任何一张都与随机找到的一张和它互换,将牌顺序打乱。具体实现代码如下。

(3)定义函数sort,实现冒泡排序,具体实现代码如下(www.xing528.com)

(4)定义函数getPokeValue,实现大王和小王的判断处理,具体实现代码如下

(5)定义函数isCard,判断当前是不是一个有效的牌型,具体实现代码如下

(6)定义函数getPokeType,获取当前牌的类型,具体实现代码如下

(7)定义函数shunzi,判断是不是顺子,具体实现代码如下

(8)定义函数getPokeCount,判断牌中同值牌出现的次数,即判断是对牌、三顺、三带一、炸弹和四代二等的个数。具体实现代码如下。

(9)定义函数getPokeTypeValue,来判断牌的类型,具体实现代码如下

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈