[Tutor PyCZ] Roboti Přicházejí - Final(?)

slacker slacker na inmail.cz
Pátek Březen 24 19:11:06 CET 2006


>  > def zmena_XY_hr(hrac, teleportace):
>         > if "2" in klavesy:                     
>             > hrac.y = hrac.y - 1   
>         > elif "8" in klavesy:
>             > hrac.y = hrac.y + 1
>         > elif "4" in klavesy:
>             > hrac.x = hrac.x - 1
>         > elif "6" in klavesy:
>             > hrac.x = hrac.x + 1
>         > elif "1" in klavesy:
>             > hrac.x = hrac.x - 1
>             > hrac.y = hrac.y - 1
>         > elif "3" in klavesy:
>             > hrac.x = hrac.x + 1
>             > hrac.y = hrac.y - 1
>         > elif "7" in klavesy:
>             > hrac.x = hrac.x - 1
>             > hrac.y = hrac.y + 1
>         > elif "9" in klavesy:
>             > hrac.x = hrac.x + 1
>             > hrac.y = hrac.y + 1
>         > elif teleportace < 5:
> 
> 
> moooc velký krok --- já jsem experimentálně určil krok=0.02 a pro roboty 
> třetinový (aby se vždy vyhrálo ;-) )
> Znám jednu poučku, která říká, že mnoho if/elif se dá řešit elegantněji 
> nějakou datovou strukturou. Ale v tomto případě mě nic nenapadá. Věděl 
> by někdo?

Co třeba něco takového:

def zmena_XY_hr(hrac, teleportace):
     kb_moves = {"2": (0,-1), "8": (0,1),
                 "4": (-1,0), "6": (1,0),
                 "1": (-1, -1), "3": (1,-1),
                 "7": (-1,1), "9": (1,1)}
     if klavesa in kb_moves.keys():
         dx,dy = kb_moves[klavesa]
         hrac.x = hrac.x + dx
         hrac.y = hrac.y + dy


					slacker



Další informace o konferenci Tutor