「自制卡牌游戏DIY」游戏阶段管理(1)

08/3112 浏览主题教程
我正在尝试使用『星火编辑器』制作一款卡牌游戏。
前面两期我们基本完成了玩家进入游戏的简易选英雄功能。但在实现从选英雄场景到进入游戏的过程中,还要加一个管理游戏阶段的系统——这样既方便管理玩家在游戏中的流程,也便于让程序根据不同游戏阶段作出不同监听、响应和处理,避免一些不必要的冗余。经过前面平稳行驶,本期车速又将飙升,还请乘客们站稳扶好!
还是先从UI界面开始,今天只需要加一个简单小UI让程序为玩家显示游戏阶段和游戏时间。用ps或其他方法做好图后,还是建panel,在下面建子类label和panel,这些老生常谈就不具体细讲了。效果如P2
然后来到服务端的触发器部分。建立一个游戏阶段的类,为此分别添加两个成员变量,分别命名为阶段名称(字符串)和持续时间(数值)。然后在这个类的基础上建立一个叫“所有游戏阶段”的变量——这是一个以“游戏阶段”为元素的数组,用于存储游戏进程中的各个游戏阶段,而不同的游戏阶段有不同的持续时间;当前阶段索引是一个数值,用于表示当前游戏在第几阶段(P3)
在数组“所有游戏阶段”中,我们加入代表游戏各个阶段的元素——设计逻辑是玩家选完英雄后读秒5秒进入战斗场景,进入战斗场景后让玩家准备10秒开始作战,而作战时间又分为240秒的常规时间和240秒的加时;当作战结束后,游戏将会进入结算界面,此时显示游戏结算框。最后结算完毕后游戏结束,玩家回到主界面,然后停止读秒、重置游戏阶段(P4)
计时器(P5)建议放在全局变量方便管理
/*科普-计时器:主要用于每隔一段时间(比如1秒)执行特定动作或等待一段时间执行动作*/
接下来写开始读秒的方法。当前阶段开始读秒也就意味着新一个阶段开始了。首先在局部变量里声明当前阶段,及其持续时间和剩余时间。然后重置阶段读秒计时器以确保用到一个新的计时器。在计时器启动前发送一个更新阶段UI的事件通知客户端更新UI,然后在计时器内每秒执行剩余秒数-1和通知客户端更新UI的逻辑。而当计时器剩余秒数到0时,则需要发送一个当前阶段结束的事件通知程序阶段结束(P6)
同样要添加一个开始下一阶段的方法——当下一阶段开始时,阶段索引+1,执行刚才的下一阶段开始读秒方法。但这里要作一个判定,防止当前阶段索引超出总阶段数组长度(P7)
今天就先分享到这里啦,感谢看到这里的你,下期我们还是不见不散哦!
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap