安卓手机斗地主开发的实现
(扬速科技提供)
手机斗地主是现在很多白领一族的爱好,闲暇之余可以缓解疲劳的同时,还可以在游戏中获得成就感。游戏开发商对安卓手机斗地主的实现是向前迈出了一大步,下面我们的开发团队根据自己开发斗地主的经验总结了以下几点,希望能对需要安卓斗地主开发者带来帮助。
(1)游戏规则的实现
通过封装相应的类来实现规则。
类card :卡片类(牌),数据成员为花(color),牌面(value),数目(num),存在标志(exist)。
枚举colors :包括方块,梅花,红心,黑桃,小鬼,大鬼总共六种花。
结构体comb :内含头头是单,双,三顺,,火箭等所有牌型的标记位。
类安卓软件签名工具player :玩家类,数据成员:玩家靓号,个性签名,登陆密码等。
类playingCards :游戏规则类,数据成员:玩家数目,有牌数目,每个玩家有牌数目等。
成员函数:游戏初始化,洗牌,发牌,叫地主,出牌等等。
Card是游戏的对象,一般而言,特定的游戏都有特定的游戏对象。Colors,comb都是根据需要,对card 的补充。Colors 是各个 牌的花共有6种,后两种是小鬼(Bjoke)大鬼(Rjoke),不用于其他牌。Comb是combo的意思,指牌的类型。在斗地主中,牌型有单牌 ,顺子,对子, 3带**, 4带**,,火箭等,详细请看附录2 网络斗地主的规则简介。
Player是玩家在服务器中的一个映射,玩家的任何动作都由它代为完成,然后将结果返回给服务器的相关内存。
playingCards 充分利用以上几个类的对象,对附录2中“一副牌的规则”进行了模拟实现,做到了一模一样。并且加上了方法。封装起来,外界通过类的对象,只要调用它的方法,就可以实施对玩家出牌 的合法性判断,并做相关结果的存储工作。
(2)游戏平台的实现:
对话框CdisplayflashDlg :客户端游戏界面,内含与flash UI通信的接口。数据成员:积分 m_nintegral,剩牌数目m_nsparecards 座位号m_norder_seats,放弃动作m_nPass,手上的牌m_strpcards 选择的牌m_strselectcards,合法牌m_stroutcards等等。成员函数:接收数据OnReceive(),关闭 OnClose()等。
顾名思义,display就是显示的意思, flash就是用动画显示。在客户端,只通过接收机制判断命令是否针对自己,若是,则执行之,显示服务器处理结果。否则,不执行,只获取当前玩家状态。该接收机制就是OnReceive方法。它通过switch()-case 机制区分不同的消息;通过msg.InfoAbout和m_norder_seats来判断消息中的指令是否针对自己发出的。
(三)玩家操作功能
操作判断机制ssage)-case中,case 共分0:登录 1:退出 2:开牌 3:叫牌 4:出牌 5:pass 6:计分六种情况。在此以最重要使用、最频繁的“case 4:出牌”来讲述这个功能。
首先,判断处理结果是否表明前面出牌是否非法,如果是,将给机会客户端重新出牌。否则,判断,信息是否是发给发出前面动作的本人。是,则将合法牌显示在UI上,并更新手上的牌。否则,只显示别人打出来的牌,及其所剩牌数目。
然后,当前面动作者是接收方的直接上家(或逻辑上家)时,接收方获得出牌权。否则,没有出牌权。
*注:以上三点包涵了安卓斗地主开发的大概要点,掌握了上述描述的几点,就能了解斗地主开发的诀窍。如果还想仔细了解其中的要点可以进入访问。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论