下载 App

「自制卡牌游戏DIY」自动生成卡牌(2)

修改于2025/07/27111 浏览主题教程
我正在尝试用『星火编辑器』制作一款卡牌游戏。
经过前面的努力,我们已经可以做出卡牌,做出卡牌包,并且在服务端构建了卡牌属性信息。为了让每个玩家都有自己的卡包,我们还需要建立一个玩家类(“类”的概念上一期有讲),并在玩家类中创建一个数组*,用于存放玩家的卡牌,而数组的每个元素都是一张“标准卡牌”(P2)
/*科普-数组:数组是多个相同类型的数据按一定顺序排列,其中的每个数据称为“元素”,而数组中的元素位于数组的位序编号称为“下标”。数组的第一个元素下标为0,第二个下标为1,第n个下标为n-1,依次类推。通过数组的下标,可以取到数组中的元素,格式为“数组名[下标]”,例如某数值类型数组[5,7,2,-1,9]名为"AA",则其中AA[3]的值为-1。此外还可删除、修改数组中的元素或插入新元素*/
为了在服务器上存储所有玩家的信息,我们建立一个名为“所有玩家信息”的简单表。它的键就是玩家编号,值就是该编号所对应的“玩家信息”(P3)
目前玩家的标准卡牌数组里并没有元素,那么我们新建一个方法用于生成玩家初始的卡牌,让服务器“送给”玩家一些卡。在方法中建立一个代表进入玩家的参数,这样在局部变量中就可以取到该玩家的编号,从而在简单表“所有玩家信息”中精准调用这个方法的玩家来执行下面的“送卡”动作。
通过循环遍历上一期中建立的卡牌模板数组,我们将数组中“是否初始赠送”标记为True的元素”摘”出来,将其添加到玩家信息的“已有卡牌”中(P4)
但现在的问题是,送给玩家的卡牌信息数组未经过整理,是杂乱无章的。这就需要新建一个用于整理卡牌的方法。这里要用到一个比较函数。
/*科普-比较函数:输入两个比较参数,分别代表数组中两个需要比较的元素。指定比较的条件,在条件下返回一个返回值,若返回值大于等于0则参数1元素排在前,否则则参数2元素排在前。遍历数组并进行两两比较+排序,即可按指定的条件排序整个数组*/
这里我选择优先按卡牌类型进行先后排序,其次按卡牌等级,最后按卡牌费用(P5)
将已有卡牌信息的数组整理整齐后,还要将这些卡牌信息转成简单表从服务端发给玩家客户端,用于在对应玩家客户端上更新和显示卡牌UI (P6)
最后在服务端触发器调用这些函数,此功能的服务端部分就暂告一段落了。下一期将会继续分享此功能的客户端部分,谢谢大家点赞支持
猜你想搜
星火编辑器 卡牌游戏制作
星火编辑器-新手教程-关于多游戏模式的配置和触发的获取截图
星火编辑器-新手教程-关于多游戏模式的配置和触发的获取
HELLO 大家好,我是阿木木牧。最近第一版的内部小范围(几人)第一个图的测试已经结束了。 整体游戏以装备数值的崩坏而告终~ (虽然大家都很欢快。。。) 现在准备开始开发下个阶段的内容啦,就是将游戏模式拆分出来。分成单人模式,多人组队模式(合作PVE),多人匹配模式(对抗模式)。那么,怎么配置呢?说来也很简单哈~ 1,在游戏编辑器中,数据编辑器,找到地图设置。 2,编辑地图设置。比如我希望最大数量
14 赞
3 回复
04:10
自定义飘字教程截图
自定义飘字教程
之前编辑器更新的飘字,可能有不少同学还不会使用,所以我稍微写了下这篇教程,希望对大家有所帮助,更好的制作游戏
14 赞
1 回复
无须申请,星火编辑器现已公测开放下载截图
无须申请,星火编辑器现已公测开放下载
—————————————————— 各位关注星火编辑器的小伙伴: 感谢大家一直以来对编辑器支持! 破晓已去,曙光降临! 星火编辑器现已开启公测! · 关于下载和资格申请 现已无需申请,请去下面的官方首页直接下载! 缘起测试是星火编辑器自诞生以来第一次对外测试! 从2022年八月开始到十一月,历时三个月。 缘起之后缘聚测试,历时又七个月! 缘聚之后,破晓降临,历时又十二个月! 曾经微弱的星火现已渐
官方
331 赞
375 回复