論奶砲的判定 - 線上

Table of Contents

身為一個資工人,我應該可以用程式邏輯來解決你的疑問

先申明,我沒有實際看過遊戲程式碼,這些都只是猜測,但應該八九不離十

以下文長,注意!

首先,先給大家一點背景知識,程式設計中有兩個簡單的資料結構

一、Stack(堆疊)

二、Queue(佇列)

Stack的特色是「先進後出」,而Queue則是「先進先出」

在SV裡面,我認為是用Queue來當結算方式

用具體一點的例子來說,可以想像成一間只有一個醫生的窮B8小醫院

醫生必須校長兼撞鐘,同時處理「掛號」和「治療」這兩個工作

那麼就開始執行案例一

首先,回合結束時,來了兩個病人「白牙」和「暗夜襲擊」

根據我聽說過的,效果觸發順序是 自己主戰->對方主戰->自己生物->對方生物

所以白牙搶先第一個掛號,醫生給它一號後標上「主戰回一血

接著暗夜襲擊掛號,醫生給它二號並標示「召喚一隻蝙蝠

因為效果都觸發完了(沒有其他病人),所以醫生開始執行治療(發動效果)

一號效果:主戰者回一血

但在這個治療後,頑皮的「天狐社」也跑來掛號了

醫生無奈先給天狐社三號,並看了一下發現對面沒人,就寫了「打臉兩血

(其實這時候還有白牙減倒數效果觸發,並拿到四號,但這邊不重要先省略)

接著繼續執行二號效果:召喚一隻蝙蝠

沒有事發生,所以繼續三號效果:打臉兩血

以上就是案例一的執行狀況~

接著來看看比較複雜的案例二

一開始掛號的有「寶石姬」、「白牙」和「暗夜襲擊」

一樣,寶石姬先拿到一號,並標示「全體+主戰回一血

接著,白牙拿到二號,並標有「主戰回一血

最後,暗夜襲擊拿了三號,並寫著「召喚一隻蝙蝠

一號效果執行:全體+主戰回一血

這時沒有時間概念的「天狐社」又遲到來掛號

醫生給天狐社四號時,發現對面有該死的狼人王,所以就標上「打生物兩血

然後,二號效果:主戰回一血

天狐社雙胞胎姊妹遲到更多地來掛號,所以醫生給了五號和「打生物兩血

三號效果:召喚一隻蝙蝠

這時,四號效果觸發:打生物兩血

醫生看到對面有狼人王和小夥伴蝙蝠,決定隨機打在蝙蝠臉上捶死牠

最後,五號效果觸發:打生物兩血

醫生看到對面只有一隻狼人王在賣萌,只好一掌巴兩滴血下去

以上,就是案例二的實際情況



很多人可能會覺得這種計算方式很奇怪,那麼應該怎麼改成一般人認知的呢?

其實很簡單(不過對程式設計師而言麻煩),只要把結構改成Stack就好

小小複習一下,Stack的特色是「先進後出」,概念可以想像成「疊羅漢」

接著我們就直接用案例二來演示一下

首先,三個啦啦隊成員「寶石姬」、「白牙」和「暗夜襲擊」要疊羅漢

因為方向跟剛剛相反,這次要從順位最低、最沒人權的暗夜襲擊當底

暗夜襲擊深蹲在最底下,並且擺出「召喚一隻蝙蝠」的姿勢

然後白牙跳上去,擺出「主戰回一血」的動作

接著寶石姬跳到最頂端,做出公主般「生物+主戰回一血」的pose

當姿勢擺完了,大家要一個一個下來,所以最上面寶石姬先下

在「生物+主戰回一血」的掌聲下跳下

可是有個太過熱情的觀眾「天狐社」衝上金字塔頂端

對著對面看台上的小帥哥狼人王拋了個「打生物兩血」的媚眼

很快的,天狐社被「打生物兩血」的噓聲趕下來,不過狼人王確實收到了

緊接著,換白牙要從疊羅漢陣容下來,得到「主戰回一血」的歡呼

可是小87天狐社玩上癮了,又跳上疊羅漢,再次對狼人王比個「打生物兩血」的愛心

雖然這次還是被保安趕下場,但狼人王被這次「打生物兩血」攻擊攻陷

最後,可憐的暗夜襲擊終於可以行個「召喚一隻蝙蝠」的禮退場。

以上就是修改成Stack版本的狀態XD



懶人包一下,SV的結算分成「觸發」和「執行」兩個動作

觸發只是把效果放入執行的清單排隊而已

而天狐社的打臉或打生物是在觸發決定,打生物的誰是在執行決定



最後,來點題外話,卡牌遊戲老祖宗「魔法風雲會」就是用Stack來決定執行順序

也因此可以做出「瞬間」、「反擊」之類的效果,因為可以達成後發先至的效果

如果要用Queue來實現後發先至,很容易會讓程式冗長、麻煩又多於

所以我是覺得不要太期待SV以後會出「反擊」或「陷阱卡」之類的東西

除非,工程師鐵了心要把大部分的程式砍掉重練~

就這樣,以上是我的程式小教室,謝謝大家

※ 引述《hsakuya (緋色)》之銘言:
: 總之 先上個影片
: https://www.youtube.com/watch?v=5HU7ruNYOJ4
: 昨天有一場玩奶泡遇到了吸血鬼 對方5T時下了暗夜襲擊 (對手回合結束時叫一隻吸血蝙蝠到場上)
: 從影片的1:23開始 我方5T 對面空場
: 我下了白牙 我方回合結束時會發動一次奶砲
: 因為回合結束時對面是空場 所以這發奶砲會越過被叫出來的蝙蝠直接打臉
: 這部分應該大家都沒什麼疑慮
: 對面在6T時下了332華茲搭血月進化 他結束時場上有一隻蝙蝠+54狼人
: 我則是下七寶石進化敲掉他的蝙蝠 回合結束後預計發動兩次奶砲(白牙+七寶石效果)
: 結果這兩發奶砲 「一發打去了被叫出來的蝙蝠」 另一發打在54華茲上
: 並沒有「一定」朝華茲打去
: 得到結論
: 奶砲發動時只要對方場上有從者
: 因為效果觸發而叫出來的從者 也是會成為該次奶砲的射擊目標
: 這場差點就因為這樣下去了...

--

All Comments

Oliver avatarOliver2018-06-30
神秘符文已經算陷阱卡了吧...
Rae avatarRae2018-07-02
感覺很像priority queue呢
Lydia avatarLydia2018-07-06
我是覺得不用想到那麼複雜(?)
反正只要知道效果發動的先後順序就好
Odelette avatarOdelette2018-07-09
講Queue我聽得懂 用掛號跟疊羅漢形容我還真一時被搞昏了(
Linda avatarLinda2018-07-12
趕快推免得別人知道我看不懂
Suhail Hany avatarSuhail Hany2018-07-12
講解很有趣XD
Lily avatarLily2018-07-16
這讓我想到之前有一個考古題 有興趣可以做做看
#1PxoRDGW
Agatha avatarAgatha2018-07-20
資工人幫推
Olive avatarOlive2018-07-24
然而要不要砍掉重練 是企劃決定的 幫工程屍QQ
Eartha avatarEartha2018-07-28
完全看得懂耶
Andy avatarAndy2018-07-28
其實SV觸發還是stack 只是他有很多個結算的時間點
Iris avatarIris2018-07-31
幾乎所有判例都是stack 造成的結果,包含空包彈
Hedda avatarHedda2018-08-06
我到底看了什麼 XDD
Rachel avatarRachel2018-08-06
共啥毀啦
Poppy avatarPoppy2018-08-09
難怪課本都用圖解法 寫成字沒人看得懂 XD
Tracy avatarTracy2018-08-12
我看不懂
Joe avatarJoe2018-08-13
認真分析文
Noah avatarNoah2018-08-14
先推不然別人以為我看得懂
David avatarDavid2018-08-17
先推不然別人以為我看得...唉唉?? 樓上你484推錯了
Liam avatarLiam2018-08-20
推個好分析
Agnes avatarAgnes2018-08-23
我看到醫生和患者整個秘魯問號就不看了
Ethan avatarEthan2018-08-28
然後這也不是queue和stack的問題 是目標選擇的問題
Tracy avatarTracy2018-09-01
講白了懶人包那三行就講完了 其他一堆讓人更看不懂而已
Jessica avatarJessica2018-09-05
先推不然別人以為我看得懂
Anthony avatarAnthony2018-09-09
我覺得寫得很好已經算淺顯易懂了 XD
George avatarGeorge2018-09-12
先推不然別人以為我看的懂 不過我資工背景的朋友說這樣
寫很有趣 可惜看不懂如我們這種外行人無從領會
Hamiltion avatarHamiltion2018-09-17
不是啊 我也資工的啊 可是我還是覺得莫名其妙啊
Kyle avatarKyle2018-09-21
快推文免得被人發現我看不懂
Erin avatarErin2018-09-21
我電機的覺得這篇寫的很奇怪...
Bethany avatarBethany2018-09-25
寫一堆故事反而難懂
Olive avatarOlive2018-09-26
我覺得寫的很不錯啊 很好懂
Elizabeth avatarElizabeth2018-09-27
社會組表示能理解
Caroline avatarCaroline2018-10-01
很好懂啊,其實就是觸發判定跟效果作用的時間點交錯的問題
Ingrid avatarIngrid2018-10-02
我覺得跟stack queue無關欸 單純是程式邏輯的問題
Caroline avatarCaroline2018-10-03
推個,已讀未懂。
Oliver avatarOliver2018-10-07
我覺得用傳統stack跟queue的解釋方法就好XD
Oliver avatarOliver2018-10-10
故事太長了反而讀到一半忘記原本在幹嘛XD
Ivy avatarIvy2018-10-15
推資工
Dinah avatarDinah2018-10-15
太有趣了,居然完全能看懂,優文推推