Nauč se Python - hra Pong

52 views
Skip to first unread message

Tomáš Plavec

unread,
Feb 18, 2021, 12:34:13 PM2/18/21
to django-cs

Dobrý den,

 

nerad obtěžuji, ale snažím se naučit programovat v pythonu na základě Vašich materiálů na stránkách: https://naucse.python.cz/course/pyladies/.

 

V poskytnutém kódu pro hru Pong je v komentáři uvedeno, že funkce pusteni_klavesy a stisk_klavesy se dají hodně zjednodušit pomocí slovníku.

Já jsem nevymyslel nic lepšího než toto:

 

def stisk_klavesy(symbolm):
    if symbol == key.W:
        stisknute_klavesy2['W'] = ('nahoru'0)        
    if symbol == key.S:
        stisknute_klavesy2['S'] = ('dolu'0)        
    if symbol == key.UP:
        stisknute_klavesy2['UP'] = ('nahoru'1)        
    if symbol == key.DOWN:
        stisknute_klavesy2['DOWN'] = ('dolu'1)         


def pusteni_klavesy(symbolm):
    if symbol == key.W:
        del stisknute_klavesy2['W']        
    if symbol == key.S:
        del stisknute_klavesy2['S']        
    if symbol == key.UP:
        del stisknute_klavesy2['UP']        
    if symbol == key.DOWN:
        del stisknute_klavesy2['DOWN']

 

Sice to takto funguje, ale nepřijde mi, že to je nějaké velké zjednodušení.

 

Dá se to tedy napsat nějak jinak?

 

Děkuji předem za odpověď.

 

S pozdravem

 

Tomáš Plavec

Jirka Vejrazka

unread,
Feb 18, 2021, 12:41:16 PM2/18/21
to django-cs
Ano, muzes si predem nadefinovat slovnik, ktery bude mit jako klice jednotlive symboly klaves a jako hodnoty to, co se ma pridat do stisknute_klavesy. To ti umozni uplne se zbavit podminek.

  Jirka

--
--
E-mailová skupina djan...@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/e7d26e82-9ab9-4c31-9db0-25ef5ce5903dn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages