[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