@@ -339,16 +339,13 @@ To je dobré udělat hned poté, co nové souřadnice hlavy získáš – konkr
339339hned před řádkem ` new_head = new_x, new_y ` v metodě ` move ` .
340340
341341A co při takovém nárazu udělat?
342- Určitě sis už všiml{{a}}, že jakákoli chyba ukončí program .
343- Nejjednodušší způsob ukončení programu je právě to – stačí tedy vyvolat chybu.
344- Nejkratší způsob, jak v Pythonu vyvolat na určitém místě chybu, je dělení
345- nulou: ` 1/0 ` .
342+ Nejjednodušší bude hru ukončit .
343+ Na to má Python funkci ` exit() ` , která funguje podobně jako když v programu
344+ nastane chyba.
345+ Jen místo chybového výpisu ukáže daný text .
346346
347- Vyvolání chyby není příliš hezký a čistý způsob jak hráči signalizovat
348- * GAME OVER* .
349- Ani ` 1/0 ` není příliš hezký a čistý způsob jak vyvolat chybu.
350- Za chvíli ale tuhle část předěláme, tak prozatím postačí rychlý a škaredý kód.
351- Jen se s ním moc nechlub.
347+ Ukončení programu není příliš příjemný způsob, jak říct hráčovi že prohrál.
348+ Za chvíli ale tuhle část předěláme, tak prozatím tenhle jednoduchý způsob postačí.
352349
353350``` python
354351 def move (self ):
@@ -359,7 +356,7 @@ Jen se s ním moc nechlub.
359356
360357 # Nový kód – kontrola vylezení z hrací plochy
361358 if new_x < 0 :
362- 1 / 0 # Vyvolání chyby -- GAME OVER
359+ exit ( ' GAME OVER' )
363360
364361 new_head = new_x, new_y
365362 self .snake.append(new_head)
@@ -396,13 +393,13 @@ Vyzkoušej všechny varianty – severní, jižní, východní i západní zeď.
396393
397394 # Kontrola vylezení z hrací plochy
398395 if new_x < 0 :
399- 1 / 0 # Vyvolání chyby -- GAME OVER
396+ exit ( ' GAME OVER' )
400397 if new_y < 0 :
401- 1 / 0 # Vyvolání chyby -- GAME OVER
398+ exit ( ' GAME OVER' )
402399 if new_x >= self .width:
403- 1 / 0 # Vyvolání chyby -- GAME OVER
400+ exit ( ' GAME OVER' )
404401 if new_y >= self .height:
405- 1 / 0 # Vyvolání chyby -- GAME OVER
402+ exit ( ' GAME OVER' )
406403
407404 new_head = new_x, new_y
408405 self .snake.append(new_head)
@@ -425,8 +422,8 @@ state.height = window.height // TILE_SIZE
425422Teď místo konce hry při naražení necháme hada „projít“ a objevit se na druhé
426423straně.
427424
428- Nemělo by to být tak složité udělat – stačí místo ` 1/0 ` vždy správně nastavit
429- příslušnou hodnotu.
425+ Nemělo by to být tak složité udělat – stačí místo ` exit() ` vždy správně
426+ nastavit příslušnou hodnotu.
430427Je ale potřeba si dát pozor kde použít ` new_x ` a kde ` new_y ` , kde ` width ` a kde
431428` height ` , a kde přičíst nebo odečíst jedničku, aby při číslování od nuly
432429všechno sedělo.
@@ -703,7 +700,7 @@ a zkus, jak se hra hraje, když skončí hned po nárazu:
703700``` python
704701 # Kontrola, jestli had narazil
705702 if new_head in self .snake:
706- 1 / 0 # GAME OVER!
703+ exit ( ' GAME OVER' )
707704```
708705
709706{% filter solution %}
@@ -748,7 +745,7 @@ kousky kódu, které prohru implementují:
748745{% filter solution %}
749746* „Prvotní nastavení atributu“ do metody ` __init__ ` .
750747* „Kontrola, jestli had narazil“ do ` move ` místo původní kontroly,
751- kdy se hra ukončila pomocí ` 1/0 ` .
748+ kdy se hra ukončila pomocí ` exit() ` .
752749* „Zabránění pohybu“ na úplný začátek metody ` move ` (příkaz ` return `
753750 okamžitě ukončí provádění metody).
754751* „Grafická indikace“ do ` ui.py ` , za sekci pro vybírání obrázku pro kousek
0 commit comments