Battle-for-Wesnoth
韋諾單人遊戲的命中率是否偏斜?
我只是在單人模式下學習《韋諾之戰》,玩了第一個和第二個單人戰役(我贏得了 4 場景兄弟戰役,我在 23 場景康拉德戰役的場景 4,普通難度) ,而且我覺得我要麼運氣不好,要麼命中機會有一些偏差或粘性。
例如,我經常讓弓箭手以 60% 的命中率進行 4 次射門,但他們錯過了 3 或 4 次。當敵人連續命中健康單位 3-4 次時,我已經失去了幾個單位。
“普通”難度是否會扭曲命中機率以默默支持 AI,還是我只是在運氣不好時才注意到?
快速查看原始碼沒有發現任何偏見的證據。關鍵線似乎是(來自
src/actions/attack.cpp
):bool attack::perform hit(bool attacker_turn, statistics::attack_context &stats) { int ran_num = random_new::generator->next_random(); bool hits = (ran_num % 100) < attacker.cth_;
簡單來說,在計算攻擊中發生的情況時,它會生成一個介於 0 到 99 之間的隨機數,如果該數字小於攻擊者的命中機會,則攻擊命中。
瀏覽程式碼
random_new::generator->next_random()
只是對 C 標準庫的隨機數生成器的包裝。該生成器有其缺陷,但偏向於類似結果的條紋並不是其中之一。簡而言之,你正在經歷一種非常人性化的傾向,即認為類似結果的條紋是“非隨機的”,而實際上它們是隨機性的完全正常結果。下次您進行攻擊時,請點擊“傷害計算”按鈕並查看所有可能的結果及其機率。