あなたのゲームは非推移的なゲームです。じゃんけんロジックを使用して、3つの統計R、P、およびSで実装できます。これらの統計は好きなように呼び出しますが、RPSロジックに固執します。
統計がR1 / P1 / S1とR2 / P2 / S2である2人のヒーローがいるとします。それらが互いにどの程度のダメージを与えるかを計算する必要があります。
あなたは岩にハサミにダメージを与えたいです。ヒーロー2の手段の英雄1取引«岩»損害場合は、そのR1 > 0
とあればS2 > 0
。有効な式の1つは単純min(R1, S2)
です。
これにより、損傷の式がすぐにわかります。
Damage(hero1 on hero2) = min(R1, S2) + min(S1, P2) + min(P1, R2)
Damage(hero2 on hero1) = min(R2, S1) + min(S2, P1) + min(P2, R1)
実際の例で何が起こるか見てみましょう:
Hero1 Hero2
R 120 50
S 30 130
P 15 30
統計を見ると、ヒーロー1は明らかに「ロック」タイプであり、ヒーロー2は明らかに「はさみ」タイプです。結果は次のとおりです。
Damage(hero1 on hero2) = min(120, 130) + min(30, 30) + min(15, 50)
= 120 + 30 + 15
= 165
Damage(hero2 on hero1) = min(50, 30) + min(130, 15) + min(30, 120)
= 30 + 15 + 30
= 75
最終結果:165
対75
。予想どおり、ヒーロー1が勝利します。
これらの式には多くの欠点がありますが、それらが非推移的な戦闘ルールを実装する方法のアイデアを提供してくれることを願っています。
x > y ∧ z > x ∧ y > z
少なくとも私の知っている基本的な数学にはx、y、zがないので、数学的に説明することはできません。