不囉嗦直接進入卡牌遊戲中會出現的效果—反制
反制效果通常是拿來克制一些原本會生效的卡片效果,例如遊戲王的陷阱卡「落穴」[1],在對方召喚怪獸的時候發動,而且這不是強制發動,自己能夠選擇什麼時候發動。因此在遊戲中程式會需要跟玩家詢問是否要發動陷阱?但假若場上存在人造人-念力震懾者[2]時,能夠使場面上的陷阱卡無效化。
這類效果大致分成兩種:禁止使用、無效化,實作的方式也會不一樣。
從這兩種反制效果又可以再延伸出「我無效你的無效」[3][4],如果存這種效果的時候,規則的實作就會開始朝向更複雜的方向發展。
以上例子在一些集換式卡牌遊戲算是蠻常見的,我其實還沒有想好要怎麼實作會比較好。
利用今天的時間稍微構思一下
A卡對應E效果
B卡能夠使場上的E效果無效
C卡能夠使B卡無效
A卡存在,A卡的E效果發動
AB卡存在,B卡發生作用,A卡無效
ABC卡存在,C卡使B卡無效,A卡的E效果發動
在規則執行時,要優先判定場上是否存在C卡?然後依序檢查是否存在B卡?再來是檢查A卡是否存在?
需要依照反制的對象建立起執行檢查的順序,另外卡片需要用一個布林值來確認其效果是否可以發動?回合開始時,預設卡片效果都是有效的。
今天先大致說明這東西,之後會需要實作。
[1] 落穴/洞系列陷阱分析 - Nova的遊戲王反主流學院
https://immortalnova.hatenablog.com/entry/2016/10/27/130524
[2] 人造人牌組介紹(人造人間-サイコ・ショッカー/Jinzo) - Nova的遊戲王反主流學院
https://immortalnova.hatenablog.com/entry/2016/06/29/183629
(曾經在漫畫中是非常OP的怪獸卡,能夠將對手場上陷阱卡無效化)
[3] 神的宣告警告通告/神字輩泛用反制單卡分析 - Nova的遊戲王反主流學院
https://immortalnova.hatenablog.com/entry/2016/10/03/130212
[4] 召喚和召喚成功、人造人和其他不受效果影響怪獸的生效時機。 - Nova的遊戲王反主流學院
https://immortalnova.hatenablog.com/entry/2017/06/18/090544