[Tutor PyCZ] Dalsi problem s Livewires
Tomáš Bělonožník
rebelme na gmail.com
Úterý Únor 28 15:50:29 CET 2006
Díky, to mě nenapadlo. Napisu dve posledni dnesni otazky. Program ted
vypada takto:
import random
from livewires import *
begin_graphics()
allow_moveables()
def vyrobHrace():
xh=random.randint(0, 639)
yh=random.randint(0, 479)
Hrac_telo = circle(xh, yh, 5, filled=1, colour=Colour.red)
return xh, yh, Hrac_telo
def posunHrace():
move_to(Hrac_telo, xh, yh)
def zmena_XY(xh, yh):
if "2" in klavesy:
xh = xh + 0
yh = yh - 10
sleep(0.2)
return xh, yh
xh, yh, Hrac_telo = vyrobHrace()
while 1:
klavesy = keys_pressed()
xh, yh = zmena_XY(xh, yh)
posunHrace()
if "q" in klavesy:
break
end_graphics()
Přesto nefunguje a při spuštění háže pořád "TypeError: unpack
non-sequence" u řádku "xh, yh = zmena_XY(xh, yh)". Neviděl jsem chybu,
a tak jsem se snažil program trochu zjednodušit, vysekat z něj
Livewires a ponechal pouze:
import random
def vyrobHrace():
xh=random.randint(0, 639)
yh=random.randint(0, 479)
return xh, yh
def zmena_XY(xh, yh):
xh = xh + 0
yh = yh - 10
print xh,yh
return xh, yh
xh, yh = vyrobHrace()
while 1:
xh, yh = zmena_XY(xh, yh)
if yh < 1:
break
To už kupodivu fungovalo, přitom řádek o který se chybě jednalo zůstal
stejný. Ovšem není všem strastím konec, zkusil jsem z funkce zmena_XY
kompletne vyjmout xh, nechal jsem na vsech mistech pouze yh. Program
se dostal dále, ale stejně hlásí chybu, tentokrát přímo od Livewires -
"File "E:\Python24\Lib\site-packages\livewires\beginners.py", line
880, in move_to
except: raise ExBadParameters('incomprehensible coordinates')
ExBadParameters: incomprehensible coordinates"
Vypadá to, jakoby po manipulaci s yh Livewires odmítl chápat tuto
proměnnou jako číslo...Díky za případnou pomoc, už se snad chytím, v
těch předchozích pracovních listech jsem se přitom zaseknul jenom
jednou, a to navíc jenom na chvíli.
Další informace o konferenci Tutor