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

导语:最近在做棋牌项目,总结一下思路。
斗地主游戏的主要流程大致分为五步:
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、通过闭包的方法,把函数中的数据可以直接传递到函数外或者传递给别的函数使用。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛夏天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值