Unity集换式卡牌游戏_第4期_配表与读取你的卡牌
在上一期中,我们制作了自己的第一张卡牌,并且通过CardDisplay
类中的DisplayCard()
方法展示了我们卡牌的属性。当时为了方便展示,我们直接在CardDisplay
中的Start()
里 new 了一张火球术出来
然鹅,我们显然不能把我们所以的卡牌都以这样的方法 new 出来,我们需要一种更成熟,更方便的方法获取我们的卡牌————读配表。
配表
在实际开发中策划会不断地提出不同的需求,但是他们不会直接对代码进行操作,而是通过和程序的沟通间接完成,而将它们对数值的具体需求,忠实的向程序反映的桥梁就是数据表,一个典型的数据表可能是这样的:

当然,实际的表可能会比这复杂的多。程序需要做的,就是去读取这张表,并可能将他以另外某种形式储存起来。持久存储数据的方法有很多,CSV,Json,XML,二进制…今天我们主要介绍的,就是CSV文件的读取。
csv的读取
csv其实就是 Comma-Separated Values
-> 逗号分隔的值
想要新建一个 csv 文件,就用 Excel 把 xls 另存为 csv 文件即可。
在视频中,我们新建了一个 CardData 文件,我们是这样读取他的
我们先用/n
把文件分割成一行一行的字符串数组,再通过,
如法炮制,把每一行都分割成对应 csv 表格的字符串数组,方便我们读取。跳过不需要读取的行, 我们按照事先标记的卡牌的种类,依次 new 出具体的 card,并把他们储存到 List<Card>
中去。 就这样,我们的卡牌的读取就顺利完成了,其实并没有什么难度,也适合自由发挥。
在视频的最后,我留下了 SkillData 没有读取,这里把读取方法一并写出。
我们新建了 Skill 类 和 SkillModel 类
显然,和上次我们写的 Card 颇有不同,也是想借此告诉大家,程序的设计方法千千万,不必拘泥于某一种写法,因地制宜才是妙招。

本文作于2023-08-15,首发于个人博客https://rdququ.top/