Unity集換式卡牌游戲_第4期_配表與讀取你的卡牌
在上一期中,我們制作了自己的第一張卡牌,并且通過CardDisplay
類中的DisplayCard()
方法展示了我們卡牌的屬性。當時為了方便展示,我們直接在CardDisplay
中的Start()
里 new 了一張火球術出來
然鵝,我們顯然不能把我們所以的卡牌都以這樣的方法 new 出來,我們需要一種更成熟,更方便的方法獲取我們的卡牌————讀配表。
配表
在實際開發(fā)中策劃會不斷地提出不同的需求,但是他們不會直接對代碼進行操作,而是通過和程序的溝通間接完成,而將它們對數(shù)值的具體需求,忠實的向程序反映的橋梁就是數(shù)據(jù)表,一個典型的數(shù)據(jù)表可能是這樣的:

當然,實際的表可能會比這復雜的多。程序需要做的,就是去讀取這張表,并可能將他以另外某種形式儲存起來。持久存儲數(shù)據(jù)的方法有很多,CSV,Json,XML,二進制…今天我們主要介紹的,就是CSV文件的讀取。
csv的讀取
csv其實就是?Comma-Separated Values
?-> 逗號分隔的值
想要新建一個 csv 文件,就用 Excel 把 xls 另存為 csv 文件即可。
在視頻中,我們新建了一個 CardData 文件,我們是這樣讀取他的
我們先用/n
把文件分割成一行一行的字符串數(shù)組,再通過,
如法炮制,把每一行都分割成對應 csv 表格的字符串數(shù)組,方便我們讀取。跳過不需要讀取的行, 我們按照事先標記的卡牌的種類,依次 new 出具體的 card,并把他們儲存到?List<Card>
?中去。 就這樣,我們的卡牌的讀取就順利完成了,其實并沒有什么難度,也適合自由發(fā)揮。
在視頻的最后,我留下了 SkillData 沒有讀取,這里把讀取方法一并寫出。
我們新建了 Skill 類 和 SkillModel 類
顯然,和上次我們寫的 Card 頗有不同,也是想借此告訴大家,程序的設計方法千千萬,不必拘泥于某一種寫法,因地制宜才是妙招。

本文作于2023-08-15,首發(fā)于個人博客https://rdququ.top/