在戰鬥階段,瞄準到底是如何工作的?
用於解決 Thea 中遭遇的紙牌小遊戲起初有點令人困惑,至少部分原因是缺乏明確的說明。
在這一點上我已經很好地掌握了它,並且戰鬥階段通常如我所料那樣進行,但有時我想知道為什麼一張牌會攻擊它所做的牌。
我手頭上的教程沒有確切的措辭,但它大約說了
每張牌都會攻擊右邊或左邊最近的牌。
這留下了很多問題。它是確定性的還是隨機的?它是圓形的,即它是否從每一端環繞?如果兩張牌的距離相等,那麼決勝局是什麼?它是否偏愛右,只有在沒有右時才選擇左,反之亦然?
那麼,戰鬥階段的瞄準算法是什麼,是否有隨機元素,它們是如何工作的?
我查看了Card Game 上的同人圈 Wiki 頁面,但沒有多大幫助。它說的是這樣的:
在兩個戰鬥階段,卡牌從左到右互相攻擊
哪個是模糊的或不准確的,取決於您如何解釋它。
然後我在 Steam 社區論壇上找到了這個討論。它包括來自開發人員的一些不完整的陳述:
卡片攻擊右側最近的敵人或左側最近的敵人。各給予 50% 的機會。它不會比較這兩者中的哪一個更接近。
和
我們把最近的敵人放在右邊,把最近的敵人放在左邊。如果只有一個選擇很簡單,如果我們這樣得到兩張牌,它將通過拋硬幣選擇某人:)
在此之後是來自使用者的更好的描述。它指的是上一篇文章中描述的設置
E1-F1-F2-F3-E2
其中 E1 和 E2 是敵方牌,F1 - F3 是友方牌:
E1總是會攻擊 F1,然後是 F2(如果它有攻擊武器並殺死 F1)。
E2總是攻擊F3,然後是F2。
F1、F2 和 F3 各有 50/50 的機率攻擊哪個敵人。
它隨機選擇“右”或“左”,然後沿該方向向下行進並攻擊它發現的第一個敵人。
E1 將始終攻擊 F1 的陳述意味著沒有環繞邊緣。在閱讀了這些資訊之後,我玩了幾十個小時,在紙牌遊戲中進行實驗並密切關注結果。最後的描述似乎是準確的。所以,這裡是算法:
定位算法
對於在此階段打出且未混淆的每張牌,從左到右依次為:
- 如果沒有對手牌,則戰鬥結束。
- 如果左邊沒有對手牌,則向右攻擊。否則,如果右側沒有對手牌,則向左側攻擊。否則,如果雙方都有對立的牌,則隨機選擇左側或右側。
- 沿所選方向遠離攻擊牌,選擇遇到的第一張對手牌。
- 攻擊那張卡。如果它被擊敗,並且攻擊卡有多餘的鈍傷,那麼重複步驟 2 和 3 一次,剩餘的傷害。