下载 App

「自制卡牌游戏DIY」战斗抽卡系统(1)

2025/09/1498 浏览主题教程
上一期我们完成了游戏的核心功能——战斗抽卡系统的设计,并将主要设计梗概用思维导图的形式清楚呈现。今天我们要着手开始用触发器编写逻辑,实现这个游戏核心玩法系统。本期车速较快,请站稳扶好!
首先我们先做好前置准备,确保已经有了“标准卡牌”类以及足以存储卡牌所需信息的各个成员变量(P2)
同样的,确认玩家信息类里面已经有了这三个“标准卡牌”数组——已有的卡、入场卡池、场上的卡(P3)。已有的卡是玩家所拥有的全部卡牌,入场卡池是玩家选择带入战斗的12张卡牌,场上的卡则是当前显示在玩家场上的4张卡。前面卡牌包相关的制作已经让玩家能够从卡包中选出带入战场的入场卡池。我们现在要做的,就是完成让玩家从“入场卡池”刷出及刷新“场上的卡”的逻辑。
通过预设值可定义和存储【卡牌状态】这一标准卡牌类的成员变量(P4)
接下来我们来到刷新场上卡牌的逻辑编写,但这时你可能没有什么头绪、不知从何开始写起。一个很好的入局思路是,从卡牌状态的变化及变化条件开始,着手设计相应逻辑(P5)
新建一个刷新场上卡牌的方法,当首次进入战斗或玩家手动刷新时会执行。该方法可将场上4张卡牌全部替换为入场卡池中的未抽取卡牌。通过遍历入场卡池数组,即可检测卡池内未抽取卡牌的数量。当未抽取状态的卡牌不足时,我们将已抽取的卡牌转为未抽取状态——这是为了在刷新时有足够的未抽取卡牌以上场(P6)
下一步是将已打出卡牌置为已抽取(P7)
当玩家刷新时,可能有卡牌被选中但未打出,故这里先将选中的卡牌取消选中,再将这些刷新后的卡统统置为“已打出”,避免刚刷下去的卡牌不会立即再被刷出(P8)
前面这些做好后,就需要提取入场卡池中未抽取的卡牌,然后清空场上的卡并将刷出来的卡予以填充。但仅仅这样还不够,为了让卡牌的抽取具有随机性,还需要一步洗牌的操作(P9)
在洗牌方法中,我们将待洗牌数组作为参数,在遍历该数组的循环里加入随机数索引。将以该索引为下标的元素加入打乱后的数组,并将其从原数组删除。在进行一波遍历后返回打乱后的数组,即可完成洗牌(P10)
完成对未抽取卡牌数组的洗牌并清空场上卡牌后,才正式进入抽取卡牌并放到场上的环节。但是因为我们的卡牌中不仅有部队卡,还有法术卡,所以还要进行分情况讨论。限于篇幅,剩下的内容就且听下回分解啦~感谢看到这里的你,希望我的分享能让你有所收获!我们下期见~
猜你想搜
星火编辑器 战斗抽卡系统设计
星火编辑器-修改官方预制自定义物品信息模板截图
星火编辑器-修改官方预制自定义物品信息模板
大家对DIY物品信息显示都很热衷,但是在具体实现上还是比较费神费力的,这次的更新将会极大程度上减少开发者的困难,而且非常好用。 首先,需要将编辑器更新到10版本,这次的更新官方重构了物品提示信息面板,并在界面编辑器中加入了7个全新的页面: 我们所要修改的页面主要是【物品信息_物品信息模板】中的【物品信息】控件: 其中【上部属性面板】就是背包效果,【下部属性面板】就是装备效果 这两个不需要管它,我们
18 赞
3 回复
星火编辑器客户端物品获取属性值的方法截图
星火编辑器客户端物品获取属性值的方法
物品添加属性分两种情况 1:设置额外属性 2:添加词缀 各有各的优缺点。 本次主要讲的是添加词缀如何在客户端获取属性值。 第一种情况:词缀buff里的属性值是设置好的固定值。 这类添加给物品后,在客户端获取就很容易。 因为添加的词缀是“装备”词缀,只需要遍历指定的装备词缀列表这条语句,获取到buff_id 再直接将buff_id通过转化成(数编表:buff),再对数编表buff里的属性修改里去获取
9 赞
35 回复
「自制卡牌游戏DIY」战斗抽卡系统设计截图
「自制卡牌游戏DIY」战斗抽卡系统设计
#游戏设计 #思维导图 P2:本系统核心逻辑 P3:卡牌类型相关设计 P4:初始化卡池、打出与刷新卡牌相关设计 P5:不同类型卡牌在打出时涉及的逻辑
「自制卡牌游戏DIY」战斗抽卡系统(2)截图
「自制卡牌游戏DIY」战斗抽卡系统(2)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 在上期内容中,我们从卡牌状态的切换打开思路,将从卡池中刷新场上卡牌逻辑用触发器一步步实现,并通过洗牌的方法确保玩家从入场卡池中刷出的卡牌具有随机性。但在此之后系统还需要将抽取的卡牌替换为新卡,并为抽到的法术卡添加法术,方可将刷出卡牌的信息完备地打包给客户端以呈现给玩家,而这正是今天要做的。话不多说,来吧。 接着上期,在对卡池中未抽取的卡牌进行
2 赞
00:09
背包自动整理:一看就会,超简单!截图
背包自动整理:一看就会,超简单!
背包一键整理,星火编辑器触发几行就能轻松做出背包一键整理功能,纯小白也能学会~ 先看视频效果: 一、核心目标 点 “整理背包” 按钮,让背包里的物品自动排序(比如好东西放前面、同类集中),把零散格子空出来,找东西更方便! 二、步骤拆解(对应截图逻辑) 1. 启动整理流程(事件触发) 选 “游戏 - 触发自定义事件”,绑定 “背包整理按钮点击” 。意思是:点按钮时,启动整理功能。 2. 提取背包物品
5 赞
星火三消之三连检测截图
星火三消之三连检测
上一回完成了消块实例化的显示(P2)(https://www.bilibili.com/video/BV1qLeUzKEHS?spm_id_from=333.788.recommend_more_video.0&vd_source=f9c1188016e81eabc613ade954e6d482),红框部分可以看到随机生成的消块构成了三连、四连。 为了避免这一情况我们在生成消块前加入对随机到的消块
3 赞
1 回复
「自制卡牌游戏DIY」制作一个卡牌包(上)截图
「自制卡牌游戏DIY」制作一个卡牌包(上)
#卡牌游戏 #星火编辑器 #星火编辑器入门 #我的游戏日记vol7 我正在尝试用『星火编辑器』制作一款卡牌游戏。众所周知,要做出一款卡牌游戏,光有一张游戏卡牌是不够的,还要有一个能装卡牌的卡牌包,并且最好要能清晰呈现卡牌信息。以下是我的详细操作—— (1)先绘制3个panel框,并在每个框底部配上一个深色的背景,在色调上和卡牌颜色区分。其中左侧的大框代表卡牌显示区,即显示拥有的卡牌;右上的框代表
1 赞
「自制卡牌游戏DIY」自动生成卡牌(3)截图
「自制卡牌游戏DIY」自动生成卡牌(3)
#星火编辑器 #星火编辑器入门 #卡牌游戏 #星火编辑器小功能分享教程 我正在尝试用『星火编辑器』将一张卡牌变成一款卡牌游戏。 前面的尝试让我们顺利做出卡牌和卡牌包,并向更复杂的自动生成卡牌功能发起冲击。上期这个功能的服务端逻辑已经告一段落,这期主打客户端部分。但在此之前要从UI层面做一个生成卡牌页面的实例。点击页面上方“+”号新建页面,这里我将其命名为“卡牌选择页面”。然后在页面中新建pane
3 赞
「自制卡牌游戏DIY」战斗抽卡系统(3)截图
「自制卡牌游戏DIY」战斗抽卡系统(3)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 我正在用『星火编辑器』将一张游戏卡牌变成一款卡牌游戏。 在上一期,我们成功把玩家刷新刷出卡的信息经服务端处理后,转化为客户端中可用于显示给玩家的面板控件。这期让我们继续完善战斗抽卡系统及相关功能的触发器逻辑。 还是在触发器客户端,我们已经完成了修改牌面UI的方法,接下来要做两件事:一个是将场上每张刷出来的卡的UI进行生成和保存,另一个是要为
2 赞
「自制卡牌游戏DIY」战斗出卡逻辑(1)截图
「自制卡牌游戏DIY」战斗出卡逻辑(1)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 我正在用『星火编辑器』将一张卡牌变成一款卡牌游戏。 在前几期中,我们设计并完善了战斗抽卡系统,使得游戏能以符合玩家体验的方式,在战斗阶段中为玩家刷出呈现各具效果的卡牌——我们正在一步步为这款卡牌游戏搭建肉体、铸造灵魂。然而,玩家选择及打出卡牌的逻辑同样重要,今天我们就要对这一部分的功能搭建发起冲锋。 在前面我们已经在客户端逻辑中为场上的卡
6 赞