@@ -229,7 +229,7 @@ def on_draw():
229229 window.clear()
230230 for x, y in snake:
231231 green_image.blit(x * TILE_SIZE , y * TILE_SIZE ,
232- width = TILE_SIZE , height = TILE_SIZE )
232+ width = TILE_SIZE , height = TILE_SIZE )
233233
234234pyglet.app.run()
235235```
@@ -267,10 +267,10 @@ def on_draw():
267267 window.clear()
268268 for x, y in snake:
269269 green_image.blit(x * TILE_SIZE , y * TILE_SIZE ,
270- width = TILE_SIZE , height = TILE_SIZE )
270+ width = TILE_SIZE , height = TILE_SIZE )
271271 for x, y in food:
272272 red_image.blit(x * TILE_SIZE , y * TILE_SIZE ,
273- width = TILE_SIZE , height = TILE_SIZE )
273+ width = TILE_SIZE , height = TILE_SIZE )
274274
275275pyglet.app.run()
276276```
@@ -336,43 +336,29 @@ bottom_top = pyglet.image.load('snake-tiles/bottom-top.png')
336336Ale obrázků je spousta, tímhle způsobem by to bylo zdlouhavé a nejspíš bys
337337na některý zapomněl{{a}}.
338338
339- Proto Pythonu řekneme, aby nám dal všechny soubory s koncovkou ` .png ` v daném
340- adresáři.
341- Na to se dá použít třída ` Path ` z modulu [ ` pathlib ` ] ( https://docs.python.org/3/library/pathlib.html ) .
342- Zkus si do nového souboru, třeba ` experiment.py ` , napsat následující kód
343- a spustit ho.
344- Dokážeš vysvětlit, co dělá?
339+ Proto si obrázky načteme automaticky, v cyklu, a dáme je do slovníku.
345340
346- ``` python
347- from pathlib import Path
348-
349- TILES_DIRECTORY = Path(' snake-tiles' )
350-
351- for path in TILES_DIRECTORY .glob(' *.png' ):
352- print (path)
353- ```
341+ Program bude vypadat takhle:
354342
355- My z každého souboru potřebujeme nejlépe jméno, tedy místo
356- ` snake-tiles/right-end.png ` jenom ` right-end ` .
357- Na to naštěstí existuje atribut ` stem ` (* kořen* , t.j. jméno bez přípony).
358- Místo ` print(path) ` použij:
343+ * Začni s prázdným slovníkem.
344+ * Pro každý * začátek* (` bottom ` , ` end ` , ` left ` , ` right ` , ` top ` ):
345+ * Pro každý * konec* (` bottom ` , ` end ` , ` left ` , ` right ` , ` top ` , ` dead ` , ` tongue ` ):
346+ * Budeme načítat obrázek „<var >začátek</var >-<var >konec</var >“; tento
347+ <var >klíč</var > si dej do proměnné
348+ * Načti obrázek <var >klíč</var >.png
349+ * Ulož obrázek do slovníku pod <var >klíč</var >.
359350
360351``` python
361- print (path.stem)
352+ snake_tiles = {}
353+ for start in [' bottom' , ' end' , ' left' , ' right' , ' top' ]:
354+ for end in [' bottom' , ' end' , ' left' , ' right' , ' top' , ' dead' , ' tongue' ]:
355+ key = start + ' -' + end
356+ image = pyglet.image.load(' snake-tiles/' + key + ' .png' )
357+ snake_tiles[key] = image
362358```
363359
364- Funguje? Máš vypsané všechny možné kousky hada?
365-
366- Teď budeme chtít načíst obrázky do * slovníku* .
367- * Klíče* slovníku, podle kterých budeme vyhledávat, budou jména, která jsi
368- právě vypsal{{a}}.
369- * Hodnoty* pak budou pygletí obrázky, které ve hře můžeš rovnou vykreslit.
370-
371- Začni s prázdným slovníkem, ` {} ` , a v cyklu ` for ` do něj postupně přidávej
372- záznamy.
373360Pak celý slovník vypiš.
374-
375- Až to budeš mít, měl by výpis vypadat asi takhle:
361+ Výpis vypadat asi takhle:
376362
377363```
378364{'right-tongue': <ImageData 64x64>, 'top-tongue': <ImageData 64x64>,
@@ -382,22 +368,6 @@ Až to budeš mít, měl by výpis vypadat asi takhle:
382368 ...
383369```
384370
385- {% filter solution %}
386- ``` python
387- from pathlib import Path
388-
389- import pyglet
390-
391- TILES_DIRECTORY = Path(' snake-tiles' )
392-
393- snake_tiles = {}
394- for path in TILES_DIRECTORY .glob(' *.png' ):
395- snake_tiles[path.stem] = pyglet.image.load(path)
396-
397- print (snake_tiles)
398- ```
399- {% endfilter %}
400-
401371
402372## Housenka
403373
0 commit comments