好玩的斗地主,原来编程这么简单!

导语:最近在做棋牌项目,总结一下思路。
斗地主游戏的主要流程大致分为五步:
1、洗牌
2、发牌
3、抢地主
4、进入出牌阶段
5、分胜负

斗地主的数据流程:
在游戏中我们需要进行画面与数据的分离
1、生成初始牌组的数据
(1)设计牌组数据
2、洗牌就是把初始数据进行打乱

具体步骤如下:

1、洗牌:
(1)生成牌组:
(2)触发洗牌
(3)执行洗牌动画
①设计动画:
1)把一份牌变成三份
2)把三份牌中的一份往左移动,另一份往右移动,还有一份下移动。
3)把牌再集中回来。连续多次,让玩家觉得动画就是一个洗牌的动作。

注意:BUG实际叫做逻辑错误。指的是程序的执行过程并无错误,但程序执行后的结果与预期不同。这样的错误就是逻辑错误。

2、发牌
(1)绑定发牌事件
如果绑定事件的元素已经发生改变,则绑定的事件也会失效。
(2)通过动画把桌面的牌发给玩家们,对应的玩家生成对应牌面。
①需要考虑的是玩家们的数据结构
②正真的牌在电脑中它应该是以数据的形式出现的,并不是画面形式出现的。所以这时个我们应该先考虑把数据完成了分配再考虑画面的生成。
③生成了玩家对应的数据后,再想办法把这些数据变成画面。
④所以后面的的开发中的建议是:最好是先有数据,再生成画面。
(3)发完牌后,需要对所有玩家的手牌进行排序
①需要进行些简单的动画效果。所有牌翻过来,等一小会再翻回去,这时牌已经是排好序的牌了。
②先要把数据进行排序
③把排序的牌组数据用动画的方式生成到页面中

3、抢地主
(1)决定谁开始叫地主
(2)玩家可以抢地主跟不抢
①不抢
1)由下一位玩家来选择
2)如果三位玩家都不抢地主则本局流局
②抢地主
1)把桌面的最后三张牌翻开
2)把这三张牌分配给地主玩家
3)重新把地主玩家的牌进行排序

4、进入出牌(正式游戏的阶段)
(1)从地主开始出牌(每一次都有一个在出牌)
(2)从出牌的玩家那里可以进行选牌的事件
①绑定点击牌的话可以进行选择
②再次点击的话就是取消选择
③玩家选牌完毕后可以按出牌进行出牌
1)判断玩家选择的牌型符不符合出牌的规则
a.应该首先从牌的张开始入手分析
2)判断玩家出的牌能不能比桌面上的牌要大

回调函数:
表现形式就是把函数当成参数来用。
定义一个包含回调函数的函数,方式是其中一个参数是以一种函数的方式传入,并且在函数中我们直接调用。


回调函数的作用:
1、把异步变成同步。
(1)同步的意思所代码的操作必须按照顺序执行,也就说必须要等前面的代码执行完毕后再执行后面代码才执行。
(2)异步的意思是当代码执行后,不必等前面的代码执行结束,后面的代码也可以同时执行。
2、通过闭包的方法,把函数中的数据可以直接传递到函数外或者传递给别的函数使用。

来源:不爱吃糖的程序媛

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月11日
下一篇 2020年11月11日

相关推荐