pátek 28. října 2016
Úvod do vyšších pravidel #3: Priorita a stack
Autor: karlosss @ 20:05 :: 4772 Přečtení :: 5 Komentáře :: :: Pravidla

Vážené čtenářky, vážení čtenáři Magic Guru,
 

po minulém článku, který nevzbudil takovou vlnu nadšení, přichází něco snad trochu zábavnějšího a hlavně ne tolik teoretického. Nudit se máte ve škole a ne při čtení mých článků, čímž se vám omlouvám za minulý díl, nicméně jsem rád, že vznikl, protože minimálně na tabulku fází kola se budu často odvolávat, a to už v dnešním díle.
 

Téma jsem avizoval už minule, dnes si představíme fungování stacku a pojem priorita. O stacku již napsal poměrně hezké povídání Flamberg (určitě už jsem se na něj během série odvolával nejméně padesátkrát, slibuji, že teď to už dělám naposledy). Tento článek lehce doplním a potom se podíváme na prioritu. Tak se do toho pusťme.

 

Stack

Odkaz na Flambergův článek: klik


Jakožto student informatiky si nemohu odpustit krátké pojednání o původu stacku. Stack, neboli česky “zásobník”, totiž vznikl právě ve světě IT. Jedná se o datovou strukturu, která funguje na principu LIFO (Last In, First Out), neboli to, co do něj dáme jako poslední, se z něj při vyhodnocování odebere jako první. Na principu zásobníku funguje algoritmus prohledávání do hloubky a veškeré algoritmy z něj vycházející. Ty se využívají například při řešení sudoku nebo hledání nejlepšího šachového tahu. 


Už někteří z vás vidí paralelu s Magicem? :)


Pokud si chcete vypěstovat osobitou pověst mezi komunitou, začněte na turnajích místo slova stack používat slovo zásobník. Myslím, že se díky tomu stanete nezapomenutelnými. A taky si říkám, že je dobře, že neexistují kartičky v češtině, protože slovo zásobník zní v souvislosti s Magicem příšerně. Takže od teď už to bude pouze stack. :)
 

Stack v MTG

 

Stack je jedna z herních zón, kam umisťujeme seslaná kouzla (a případné kopie seslaných kouzel), aktivované schopnosti a triggered ability. Naopak tam neumisťujeme turn-based akce (známe z minulého dílu), speciální akce (na to se podíváme někdy příště, příkladem speciální akce je například zahrání země), mana ability (známe z prvního dílu), statické schopnosti a replacement efekty (také se na ně někdy podíváme).


Jak již asi všichni víme, ve chvíli, kdy jsou oba hráči s obsahem stacku spokojeni (respektive nejsou spokojeni, ale nemohou nic dalšího dělat), tak se vyhodnotí vrchní objekt na stacku
(toto označení je rovněž převzato z IT: objekt, který se bude vyhodnocovat nejpozději, se nazývá spodní či dolní, zatímco objekt, na který jako první přijde řada, se nazývá horní, vrchní či nejvyšší), čímž se z něj odstraní. Poté mají opět oba hráči možnost přidávat objekty na stack, poté se opět vyhodnotí vrchní objekt a tak dále, než se stack vyprázdní a nikdo už nechce nic přidávat. 


A
nyní se podívejme na věc, bez které by stack a vlastně i celá hra nemohly existovat: systém priority.

 

Priorita

Dle mého se, minimálně v češtině, jedná o poněkud zavádějící pojem. Myslím, že by se tato věc mnohem lépe dala vystihnout pojmem “příležitost”. Ale aby nám všichni rozuměli, budeme říkat priorita, stejně jako zbytek Magicového světa.


Co to je? Lehce už jsem to naťukl minule. Nejjednodušeji řečeno se jedná o “příležitost něco dělat”. Už chápete, proč bych prioritu přejmenoval? :) 


Prioritu má vždy pouze jeden hráč u stolu. Nemůže se tedy stát, že během vašeho přemýšlení se ve vaší main fázi z ničeho nic na stole objeví modrý Gearhulk a zhatí vám veškeré plány. Tento systém tedy z Magicu odstraňuje prvky postřehových her (“kdo první hodí kartu na stůl, ten ji tam má”), což je podle mě dobře, protože Magic není hra, která by se měla hrát rychle a bez rozmyslu.


Na začátku každého stepu a fáze dostane aktivní hráč (hráč, jehož kolo právě probíhá) prioritu – podle tabulky z minulého dílu.

 

K čemu tedy priorita je?


Pokud mám prioritu, tak mohu:

- seslat kouzlo

- aktivovat schopnost

- vykonat speciální akci (tedy například zahrát zemi, zahrání země je navíc podmíněno vlastní main fází a prázdným stackem)

- předat prioritu soupeři

Pokud prioritu nemám, výše uvedené věci nemohu dělat. Pokud si nevyberu poslední možnost, tak prioritu dostanu automaticky hned znovu.

 

Než si dáme hromadu příkladů, podívejme se, jak spolu souvisí priorita a stack a také prozkoumejme triggered ability v tomto systému, jejichž místo je poněkud výstřední.

 

Priorita a stack

Když mám prioritu a rozhodnu se seslat kouzlo nebo aktivovat schopnost, následuje poměrně komplikovaný proces, na který se podíváme jindy. Naštěstí lze však docela často hodně zjednodušit. Tento proces začne tím, že toto kouzlo resp. schopnost přidám na stack (jen připomínám, z principu fungování stacku se tento právě přidaný objekt automaticky stane vrchním objektem stacku) a zaplatím příslušný mana cost (mohu aktivovat mana ability). Poté opět dostanu prioritu a mohu pokračovat. A tak dále, do té doby, než se rozhodnu, že prioritu předám.

 

Soupeř má nyní stejnou možnost jako jsem měl já. Buď může přidávat na stack svoje kouzla a schopnosti, nebo mi prioritu vrátí.

 

Pokud se stane, že oba hráči za sebou (respektive všichni, v případě nějakého multiplayeru) předají prioritu hned, jak ji dostanou, vyhodnotí se vrchní objekt stacku, hráč, jehož kolo probíhá, dostane prioritu a může s ní naložit dle libosti (buď opět něco zahraje, nebo ji předá dál). Toto se opakuje do té doby, než všichni hráči předají prioritu nad prázdným stackem – v tom momentě končí právě probíhající step nebo fáze.

 

Priorita, stack a triggered ability

 

Nyní se podívejme na zmíněné triggery. Triggered abilita funguje tak, že tiše čeká na svou událost ve hře. V momentě, kdy se tato událost stane, dá schopnost vědět o své existenci (respektive ji příslušný hráč musí ohlásit, o tom ale někdy příště) bez ohledu na to, kdo má zrovna prioritu. To znamená, že se umístí “na haldu” (přiznávám, není to úplně oficiální pojem, halda je v IT část paměti programu, kde jsou si všechny objekty rovny a dokážeme ke všem rovnocenně přistupovat) a čeká na moment, kdy nějaký z hráčů dostane prioritu. Těsně před tímto získáním priority onen trigger přiskočí na stack.

 

Už vám z toho hrabe? Výborně. Je asi nejvyšší čas si dát nějaké příklady.

 

Příklady

 

Pro potřeby všech našich příkladů si vezmeme dva hráče, kteří se, v rámci zachování politické korektnosti, budou jmenovat Arnoštek a Norbertek. Arnoštek, začínající písmenem A, bude vždy na tahu (A jako “aktivní hráč”, N jako “neaktivní hráč”).

 

Příklad #1

V prvním příkladě se podíváme na samotné fungování stacku. Uvažujme následující situaci. Předpokládejme, že mimo zemí na stole není vůbec nic a hráči mají dostatek many na všechno.

 

Arnoštek má v ruce následující karty:
 

 

Norbertek disponuje tímto arzenálem:
 

 

Začala Arnoštkova main fáze a my se podívejme, co se například může stát.

 

Arnoštek má prioritu a sesílá Kamahl, Pit Fightera, ten jde na stack. Předává prioritu soupeři. Ten nic nechce dělat a předává prioritu zpět. Oba hráči předali prioritu, takže vrchní objekt stacku resolvuje. Kamahl, Pit Fighter je na stole. Arnoštek dostává prioritu a rovnou ji předává. Norbertek také předává prioritu. Protože byl prázdný stack, main fáze končí.

 

Jiný scénář: Arnoštek sesílá Kamahl, Pit Fightera a předává prioritu. Norbertek hraje Deceiver Exarcha, následně hraje Counterspell na Kamahla a předává prioritu. Arnoštek hraje Mana Leak na Counterspell a předává prioritu. Až do vyprázdnění stacku oba hráči jenom předávají prioritu. Postupně tedy Mana Leak zruší Counterspell, na bojišti se objeví Deceiver Exarch a následně i Kamahl, Pit Fighter. Nyní má prioritu Arnoštek, tapne Kamahla a pokusí se dát 3 poškození do Norbertka. Předává. Norbertek taky předává a píše si tedy 3 zranění. Arnoštek opět má prioritu a předává, Norbertek taky předává. Stack byl prázdný, main fáze končí. Už pomalu začínáte rozumět, jak to funguje?

 

Nyní se můžete podívat do Flambergova článku (odkaz máte výše), má tam ještě jeden obdobný příklad.

 

 

Příklad #2

 

Teď do toho zakomponujeme nějaké triggery. Máme opět naše dva aktéry, kteří májí k dispozici spoustu many. Situace na stole je ovšem trochu jiná.



 

Arnoštek má v ruce Grizzly Beara. Norbertek nemá v ruce nic, ale na stole má Aether Sting.

 

Je Arnoštkova main fáze a Arnoštek dostává prioritu. Hraje Grizzly Beara. Tím je splněna podmínka triggeru Aether Sting, trigger jde tedy “na haldu”. Nyní Arnoštek opět dostane prioritu, ale protože je neprázdná halda, ještě předtím jdou na stack triggery z haldy, konkrétně ten trigger z Aether Stingu. Teď Arnoštek dostane prioritu a předává. Norbertek taky předává, takže trigger resolvuje a Arnoštek dostává za 1. Arnoštek opět dostává prioritu a předává, stejně tak Norbertek. Na bojiště ze stacku skočí Grizzly Bear.

 

Příklad #3

 

Nyní předchozí příklad trochu vylepšíme, Norbertek bude mít na stole navíc Wurm's Tooth.



 

Po zahrání Grizzly Beara jdou na haldu oba triggery, tedy jeden z Wurm's Tooth a jeden z Aether Stingu. Protože je na haldě víc triggerů, tak si Norbertek (jakožto majitel obou z nich) může vybrat, v jakém pořadí je dá na stack. Řekněme, že dá na stack nejdříve přidání životu a poté 1 damage do Arnoštka. Halda je prázdná a Arnoštek může dostat prioritu. Předává, Norbertek taky předává. Vrchní objekt stacku – 1 damage do Arnoštka – se může vyhodnotit. Poté dostane Arnoštek prioritu, předá ji, Norbertek rovněž, a tak se vyhodnotí přidání životu. Po dalším kolečku předání priorit se Grizzly Bear objeví na stole.

 

Příklad #4

 

Je čas to ještě trochu zkomplikovat. Stejná sestava jako minule, jenom Wurm's Tooth nekontroluje Norbertek, ale Arnoštek. Zahraje se Grizzly Bear, oba triggery jdou na haldu, to je stejné. Co se ale bude dít teď?

 

Představíme si v pravidlech oficiálně definovanou zkratku APNAP. Překvapivě je to z angličtiny a znamená Active Player, then Non-Active Player. Česky tedy “aktivní hráč, poté neaktivní hráč”. Potom existuje pojem “pořadí APNAP” (v originále APNAP order), což znamená, že nejdřív vše potřebné vykoná aktivní hráč a poté neaktivní hráč. O všech možných využití APNAPu se teď nebudeme bavit, ono to vždycky vyplave na povrch tak nějak samo :)

 

Ale zpátky k triggerům na haldě. Už asi tušíte, proč jsem v předchozím odstavci zavedl APNAP – přesně tady se právě teď použije. Nejdříve vyzobe aktivní hráč (Arnoštek) z haldy všechny svoje triggery (svoje triggery znamená triggery ze zdrojů, které Arnoštek kontroluje) a naskládá si je v libovolném pořadí na stack. V tomto případě má pouze jeden – přidání života. Následně udělá totéž Norbertek, ten dá na stack svůj 1 damage. Předpokládejme, že nikdo už nic dalšího nedělá. Vyhodnotí se tedy postupně 1 damage do Arnoštka, potom si Arnoštek přidá 1 život a nakonec skončí Grizzly Bear na bojišti.

 

Pokud jste to pochopili až sem, tak paráda. Na haldu si dáme ještě jeden příklad, abyste pochopili, že je opravdu potřeba něco takového zavádět.

 

Příklad #5

 
 

Arnoštek má na stole Thought-Knot Seera a Eldrazi Displacera. Aktivuje abilitu Displacera a cíluje Thought-Knot Seera. Oba hráči předají prioritu, Thought-Knot Seer odchází a jeho lízací trigger jde na haldu. Poté přichází a jeho zahazovací trigger jde na haldu.

 

Přestože jeden trigger vznikl dříve než ten druhý, oba skončily na haldě. Arnoštek si je nyní může naskládat na stack v libovolném pořadí. Buď to tedy může udělat tak, že si Norbertek nejdříve lízne a potom dojde k zahození (Arnoštek bude mít větší výběr, ale Norbertek si může líznout nějaký instant, kterým Arnoštkovi pokazí akci) nebo obráceně (líznutou kartu Arnoštek nebude mít možnost vidět). Další podrobnosti probereme v díle o triggered abilitách, který dříve nebo později bude muset vzniknout :)

 

Příklad #6

 
 

Něco z modernových stolů. Arnoštek má v ruce Liliana of the Veil a Norbertek má Lightning Bolt.

 

Arnoštek hraje Lilianu a předává prioritu. Norbertek nemůže střelit blesk do Liliany, protože Liliana je ještě na stacku a není ve hře, takže předává. Liliana jde do hry a Arnoštek dostává prioritu. Arnoštek aktivuje první schopnost Liliany, zaplatí její cenu (cenou je přidání jednoho loyalty counteru na Lilianu, takže teď už má 4) a předává prioritu. Norbertek nyní může zahrát blesk do Liliany, ale Liliana už má 4 countery, a tedy nezemře.

 

Představme si, že má Arnoštek ještě Grizzly Beara. Poté, co se Liliana ocitne ve hře a Arnoštek dostane prioritu, tak zahraje Grizzly Beara a předá prioritu. Norbertek využije své priority a zahraje blesk do Liliany. Ta má 3 countery, a tedy jde do hrobu. Grizzly Bear resolvuje a jde na bojiště.

 

Z toho plyne poučení, pokud si chcete Lilianu zachránit před bleskem, “plusněte” ji hned, jak to půjde. Soupeř nebude mít možnost ji sestřelit.

 

Příklad #7


 

Poslední příklad. Arnoštek má na stole Tasigur, the Golden Fang (v hrobě nemá nic) a Norbertek má Scavenging Ooze.

 

Arnoštek aktivuje Tasigura a předává prioritu. Norbertek nechce nic dělat, takže Arnoštek otočí dvě karty z knihovny do hrobu. Norbertek by nyní tyto dvě karty rád vyžral Oozou, ale nemůže - jsme uprostřed resolvu Tasigurovy schopnosti, takže prioritu nemá nikdo. Musí tedy jednu z těchto karet chtě nechtě dát Arnoštkovi do ruky. Tím resolve skončí a Arnoštek dostane prioritu. A až v momentě, kdy ji předá Norbertkovi, tak se dá dělat něco s Oozou.

 

 

 

 

Turnajová pravidla a priorita

 

Protože se priorita mezi hráči předává v jednom kuse, zavedla se psaná domluva mezi hráči. Tuto domluvu lze nalézt v Magic Tournament Rules (odkaz ve zdrojích na konci článku) a říká, že hráči po každé aktivované schopnosti nebo seslaném kouzlu předávají automaticky prioritu, pokud neřeknou jinak.

 

Z rozhodcovského pohledu bych rád doplnil, že oznámení o držení priority doporučuji udělat ještě před tím, než ono kouzlo dáte na stůl. Jinak se totiž může stát, že soupeř bude velmi rychlý (například bude mít v ruce counter, který se nebude zdráhat použít) a ještě před vaším oznámením o držení priority se tento counter pokusí zahrát. Bude následovat hádka, volání JUDGEEEEEE a já (nebo někdo jiný) to budu muset řešit. Pokud tomuto chcete předejít, oznamte soupeři váš záměr s prioritou dostatečně včas. Rozhodčí vám poděkují :)

 

Domácí úkol

 

Po delší době jsem si pro vás připravil pár úkolů na procvičení. Svoje nápady pište do komentářů nebo si je nechte pro sebe. Za cca 14 dnů sem napíšu řešení, avšak asi všichni dobře víte, jak to s těmi mými 14 dny vždycky je… :)

 

Úkol #1

 
 

Opět si vezměme naše dvě hvězdy. Arnoštek má na stole Eidolon of the Great Revel a v ruce Lightning Bolt. Norbertek má v ruce Angel’s Grace a má dva životy. Arnoštek hraje Lightning Bolt. Je to Norbertkův konec? A co kdyby měl Norbertek 3 životy místo 2?

 

Úkol #2

 
 

Arnoštek i Norbertek mají na stole každý jednoho Disciple of the Vault. Oba mají pět artefaktů a pět životů. Arnoštek zahraje Shatterstorm. Co se stane?

 

Úkol #3

 
 

Arnoštek má prázdný hrob a aktivuje Tasigur, the Golden Fang. Z knihovny otáčí do hrobu zemi a Emrakul, the Aeons Torn. Co bude následovat?

 

Úkol #4

 
 

Tohle je pro opravdové fajnšmekry (a trochu mimo tento článek, myslím, že se nad tím zapotí i kdejaký rozhodčí). Jak funguje z hlediska priority Panglacial Wurm?

 

 

A to je pro dnešek všechno. Doufám, že vás to bavilo víc než posledně, budu opět rád za jakýkoli feedback (komentáře, Facebook, osobně). V dalším díle si představíme state-based actions. Mám pocit, že je to právě znalost priority a state-based actions, která od sebe odděluje hráče a hráče. Takže příště už z vás budou profíci. :)

 

Mějte se pěkně!

Karlos

 

Zdroje:

Gatherer (EN)

Comprehensive Rules (EN)

Magic Tournament Rules (EN)