@@ -14,7 +14,7 @@ musí o hře „pamatovat“, aby mohl aktuální stav zobrazit?
1414
1515Bude potřebovat například aktuální polohu všech částí hada: kde má začátek?
1616Kroutí se doprava nebo doleva? Jak je dlouhý?
17- Naopak barvu hada se stavu ukložit nepotřebuješ – každý had v téhle hře bude
17+ Naopak barvu hada ve stavu uložit nepotřebuješ – každý had v téhle hře bude
1818stejný.
1919
2020Napadne tě, jak polohu hada zapsat pomocí čísel, seznamů a dalších základních
@@ -35,7 +35,7 @@ Každý bod v rovině (třeba na obrazovce!)
3535je možné popsat dvěmi čísly: <var >x</var >-ovou a <var >y</var >-ovou souřadnicí.
3636Ta <var >x</var >-ová říká, jak moc vlevo je bod od nějakého počátku,
3737ta <var >y</var >-ová udává jak moc je nahoře.
38- My za onen „počátek“ zvolíme roh okýnka, ve kterém se bude plazit náš had.
38+ My za onen „počátek“ zvolíme roh okýnka, ve kterém se bude náš had plazit .
3939
4040Na rozdíl od školní geometrie se had bude plazit po čtverečkové mřížce.
4141Je to jako na šachovnici – když jde pěšec na D5, D značí, jak moc je to
@@ -100,10 +100,6 @@ se souřadnicemi (10, 20).
100100Na to, abychom hada vykreslili, použijeme okýnko z Pygletu.
101101Tady je základní kostra programu Pyglet, které už bys měl{{a}} rozumět.
102102
103- Udělej si nový, prázdný adresář na hadí hru, a kostru si
104- zkopíruj do souboru ` ui.py ` .
105- Budeme ji dál rozvíjet.
106-
107103``` python
108104import pyglet
109105
@@ -116,6 +112,10 @@ def on_draw():
116112pyglet.app.run()
117113```
118114
115+ Udělej si nový, prázdný adresář na hadí hru, a kostru si
116+ zkopíruj do souboru ` had.py ` .
117+ Budeme ji dál rozvíjet.
118+
119119<img src =" {{ static('green.png') }} " alt =" " style =" display :block ; float :right ; margin : 2px ; border : 1px solid #ccc ; border-radius : 1px ;" >
120120Stáhni si soubor [ green.png] ({{ static('green.png') }}) – zelený čtvereček –
121121a dej ho do adresáře, kam píšeš kód.
@@ -133,7 +133,7 @@ Potom zkus dovnitř do funkce `on_draw` přidat vykreslení obrázku na souřadn
133133 green_image.blit(40 , 50 , width = 10 , height = 10 )
134134```
135135
136- Program spusť (` cd ` do nového adresáře; ` python ui .py ` ). Funguje?
136+ Program spusť (` cd ` do nového adresáře; ` python had .py ` ). Funguje?
137137(Je docela důležité, aby fungoval – nevidíš-li zelený čtvereček,
138138nečti dál a program radši oprav.)
139139
@@ -201,17 +201,16 @@ for x, y in snake:
201201 ...
202202```
203203
204- Funguje to? Vidíš v tom – aspoň zhruba – hada
205- (i když je poskládaný ze čtverečků)?
204+ Funguje to? Vidíš v tom – aspoň zhruba – hada poskládaného ze čtverečků?
206205
207206{{ figure(
208207 img=static('coords-blocks.svg'),
209208 alt="Had na „šachovnici“ a ukázka programu",
210209) }}
211210
212211Jestli ne, nezoufej, zkontroluj si to znovu, poptej se na radu.
213- Řešení využij až jako krajní možnost, jak pokračovat dál – nebo na kontrolu
214- správného řešení .
212+ Ukázkové řešení využij až jako krajní možnost, jak pokračovat dál.
213+ Nebo pro kontrolu .
215214
216215{% filter solution %}
217216``` python
@@ -239,12 +238,11 @@ pyglet.app.run()
239238
240239## Krmení
241240
242- <img src =" {{ static('red.png') }} " alt =" " style =" display :block ; float :right ; margin : 2px ; border : 1px solid #ccc ; border-radius : 1px ;" >
243241<img src =" {{ static('apple.png') }} " alt =" " style =" display :block ; float :right ; margin : 2px ; border : 1px solid #ccc ; border-radius : 1px ;" >
244242Aby bylo ve hře co dělat, budeme potřebovat pro hada krmení.
245- Stáhni si do adresáře s projektem obrázek ` apple.png ` (ať už jednoduchý
246- čtvereček nebo detailnější obrázek), a zkus vykreslit jídlo třeba
247- na následující souřadnice:
243+ Stáhni si do adresáře s projektem obrázek
244+ [ apple.png ] (({{ static('apple.png') }}) a zkus vykreslit
245+ jablíčka na následující souřadnice:
248246
249247``` python
250248food = [(2 , 0 ), (5 , 1 ), (1 , 4 )]
@@ -278,12 +276,13 @@ pyglet.app.run()
278276```
279277{% endfilter %}
280278
281- Používáš-li detailnější obrázek, možná si všimneš, že má trošičku „zubaté“ hrany.
282- To je dáno způsobem, jakým v Pygletu obrázek vykreslujeme.
283- Úplné vysvětlení by zabralo příliš času, proto ukážu jen řešení.
284- Až se naučíš grafiku víc do hloubky, pochopíš co se tu děje :)
279+ Možná si všimneš, že obrázek má ve hře trošičku „zubaté“ hrany.
280+ To je dáno způsobem, jakým v Pygletu vykreslujeme.
281+ Úplné vysvětlení by se do tohoto návodu nevešlo, potřebuje trochu hlubší
282+ znalosti počítačové grafiky.
283+ Proto uvedu jen řešení.
285284
286- Do funkce ` on_draw ` , hned za ` clear ` , dej následující dva řádky:
285+ Do funkce ` on_draw ` , hned za ` clear ` , dej následující tři řádky:
287286
288287``` python
289288 # Lepší vykreslování (pro nás zatím kouzelné zaříkadlo)
@@ -319,7 +318,8 @@ Obrázek se jmenuje <var>odkud</var>-<var>kam</var>.png.
319318
320319> [ note]
321320> Co jsou taková ta divná „hadí vajíčka”?
322- > To je pro přímad, že by had byl jen jedno políčko dlouhý – a tedy měl hlavu
321+ > <img src =" {{ static('snake-tiles/tail-head.png') }} " alt =" " style =" display :block ; float :left ; margin : 2px ; border : 1px solid #ccc ; border-radius : 1px ;" >
322+ > To je pro případ, že by had byl jen jedno políčko dlouhý – a tedy měl hlavu
323323> i ocas na stejném políčku.
324324> V naší hře se do takového stavu nedostaneme (had bude začínat s délkou 2),
325325> ale může se stát, že se do něj dostaneš omylem při vývoji hry.
@@ -372,7 +372,7 @@ právě vypsal{{a}}.
372372
373373Začni s prázdným slovníkem, ` {} ` , a v cyklu ` for ` do něj postupně přidávej
374374záznamy.
375- Pak slovník vypiš.
375+ Pak celý slovník vypiš.
376376
377377Až to budeš mít, měl by výpis vypadat asi takhle:
378378
@@ -458,9 +458,9 @@ Místo toho, aby byl všude stejný kousek hada,
458458ale budeme chtít vybrat vždycky ten správný.
459459
460460Jak na to?
461-
462461Podle čeho ho vybrat?
463462
463+ Pojďme si to vyzkoušet vedle.
464464Vytvoř soubor ` smery.py ` a napiš do něj:
465465
466466``` python
@@ -533,16 +533,15 @@ vrať se k materiálům k předchozím lekcím (hlavně k úvodu do Pythonu),
533533zkoušej a objevuj… A časem na to přijdeš.
534534
535535Až se to stane, zkus své řešení co nejvíc * zjednodušit* a pak ho zakomponovat
536- do vykreslovací funkce.
537- To by už nemělo být příliš složité:
536+ do vykreslovací funkce místo existujícího cyklu ` for x, y in snake ` .
538537
539538``` python
540- for ??? in ??? snake ??? :
539+ for ... in ... :
541540 ...
542- x = ???
543- y = ???
544- odkud = ???
545- kam = ???
541+ x = ...
542+ y = ...
543+ odkud = ...
544+ kam = ...
546545 ...
547546
548547 snake_tiles[odkud + ' -' + kam].blit(
0 commit comments