iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
0
自我挑戰組

卡牌遊戲開發日記v2020系列 第 3

Day3 屬性相剋系統

因為自己要寫的卡牌遊戲中有使用到五行生剋規則,所以寫一篇實作方法,之後會寫簡單demo版。其他人如果想寫一套類似的系統可以參考著名的寶可夢屬性生剋表[1]。

五行規則:
相生:金生水,水生木,木生火,火生土,土生金
相剋:金剋木,木剋土,土剋水,水剋火,火剋金

根據相生相剋結果會產生四種結果:

  1. 相生,傷害變成補血 (反向效果)
  2. 相剋,兩倍傷害 (效果絕佳)
  3. 相抵,一半傷害 (效果不好)
  4. 非以上,正常傷害

實作方式:採用建表,羅列所有屬性,將對應的結果放上。
戰鬥時將攻擊方、防守方屬性代入查表,根據查表的結果修正其數值。

相剋、相抵可以用倍率的方式去修飾原本的傷害數值
相生則需要把傷害效果改成治癒效果,雖然可以用負號的數學方式作出補血效果,但自己比較傾向改成呼叫不同效果的方式,比較不會發生違反認知的狀況(明明是傷害,但對方血量卻增加)

攻擊的描述資料:[玩家編號] 以 [攻擊屬性] 的攻擊對 [玩家編號] 造成 [數值] 點的傷害

屬性相剋(五行生剋)的機制
觸發條件:玩家使用五行攻擊,受攻擊方上回合也使用過五行攻擊
生效時:

  1. 產生的修飾效果
  2. 對應說明文字

一般遊戲的屬性相剋只會更改傷害數值的倍率,但因為我作的遊戲有傷害轉治癒的變化,所以實作上會稍微不同。

[1] 屬性相剋表 - 神奇寶貝百科,關於寶可夢的百科全書
https://wiki.52poke.com/zh-hant/%E5%B1%9E%E6%80%A7%E7%9B%B8%E5%85%8B%E8%A1%A8


上一篇
Day2 卡牌遊戲中的反制機制
下一篇
Day4 護盾機制
系列文
卡牌遊戲開發日記v202030

尚未有邦友留言

立即登入留言