因為自己要寫的卡牌遊戲中有使用到五行生剋規則,所以寫一篇實作方法,之後會寫簡單demo版。其他人如果想寫一套類似的系統可以參考著名的寶可夢屬性生剋表[1]。
五行規則:
相生:金生水,水生木,木生火,火生土,土生金
相剋:金剋木,木剋土,土剋水,水剋火,火剋金
根據相生相剋結果會產生四種結果:
實作方式:採用建表,羅列所有屬性,將對應的結果放上。
戰鬥時將攻擊方、防守方屬性代入查表,根據查表的結果修正其數值。
相剋、相抵可以用倍率的方式去修飾原本的傷害數值
相生則需要把傷害效果改成治癒效果,雖然可以用負號的數學方式作出補血效果,但自己比較傾向改成呼叫不同效果的方式,比較不會發生違反認知的狀況(明明是傷害,但對方血量卻增加)
攻擊的描述資料:[玩家編號] 以 [攻擊屬性] 的攻擊對 [玩家編號] 造成 [數值] 點的傷害
屬性相剋(五行生剋)的機制
觸發條件:玩家使用五行攻擊,受攻擊方上回合也使用過五行攻擊
生效時:
一般遊戲的屬性相剋只會更改傷害數值的倍率,但因為我作的遊戲有傷害轉治癒的變化,所以實作上會稍微不同。
[1] 屬性相剋表 - 神奇寶貝百科,關於寶可夢的百科全書
https://wiki.52poke.com/zh-hant/%E5%B1%9E%E6%80%A7%E7%9B%B8%E5%85%8B%E8%A1%A8