Hra – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hra – Python – Fórum – Programujte.comHra – Python – Fórum – Programujte.com

 

to_jsem_ja0
Stálý člen
18. 2. 2007   #1
-
0
-

Pokouším se udělat takovou menší hru ale mám pár problémů...

self.body=Label(self.info, text=u"Máte %d bodů" %(self.points), width=20)

self.points mám ze začátku nastavené na sto, ale v průběhu hry se to má měnit. u mě se to bohužel nemění. Dá se to nějak aktualizovat nebo tam mám nějakou logicku chybu?

Jak mám udělat aby se na tlačítko dalo stisnkout jen jednou a potom zšedlo a bylo neaktivní?

předem díky za odpověď:))

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
18. 2. 2007   #2
-
0
-

1) Dala by se vytvořit Tkiner variable:



self.points=IntVar(okno)
self.points.set(140)
Label(textvariable=self.points)

text udělátka se okamžitě změní jakmile změníš self.points. Když nepoužiješ tu IntVar, tak bys musel pokaždý změně proměnný self.points aktualizovat: label["text"]=self.points
2) Stačí v commandu toho tlačítka přidat něco jako:


def zmacknuto(self):
self.tlacitko["state"]="disabled"

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
to_jsem_ja0
Stálý člen
18. 2. 2007   #3
-
0
-

dík
další dotaz. Můžu dát udělátku typu Button nějakou hodnotu hodnotu ale ne fci.
např: chci aby se po kliknutí na určité tllačítko nastavilo že x=2, ale nechci to psát do commandu protože ten již odkazuje na jinou fci.

Nahlásit jako SPAM
IP: ...–
to_jsem_ja0
Stálý člen
18. 2. 2007   #4
-
0
-

ad 1) jak přesně se ta proměnná intvar používá? kde ji mám nastavit a co dát místo toho "okno"?
a můžu kombinovat v jednom labelu text i textvariable?

ad 2)když udělám tu fci disabled tak mi to háže tuhle chybu:

Exception in Tkinter callback

Traceback (most recent call last):
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__
return self.func(*args)
File "C:\Python25\programy\˙koly\tlacitka(20).py", line 43, in vsazeno
self.zmacknuto()
File "C:\Python25\programy\˙koly\tlacitka(20).py", line 20, in zmacknuto
self.tlacitko(state=DISABLED)
AttributeError: Button instance has no __call__ method

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
18. 2. 2007   #5
-
0
-

1) nekombinovat; okno je rodič.
2) to udělej tak jak sem řikal:



self.tlacitko["state"]="disabled"

nebo by eště šlo


tlacitko.config(state="disabled")

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
to_jsem_ja0
Stálý člen
18. 2. 2007   #6
-
0
-

trochu víc vysvětlím situaci. já dělá, teď úkol do 20. lekce, tam jsou ty tlačítka generovány ve velkém a já chci aby se tlačítko na které kliknu ztmavlo(DISABLED). problém je v tom že ty tlačítka nemají každá své jméno, takže je nemůžu volat

for i in range(self.pRadku*self.pSloupcu):        

self.tlacitko = Button(self.tlac, text = i, command=self.vsazeno)
self.radek=i/self.pSloupcu+3
self.sloupec=i%self.pSloupcu
self.tlacitko.grid()
self.tlacitka.append(self.tlacitko)

Nedá se teda každému tlačítku nějak přiřadit jméno(třeba podle hodnoty proměnné "i") kterým ho budu později volat?

1) pořád mi nejde, nechápu.(četl jsem i dokumentaci Tkinter)

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
18. 2. 2007   #7
-
0
-

dá se použít paramter name, ale to nedoporučuju. V tvým případě bych spíš použil příkaz bind a ne command:



self.tlacitko.bind('<1>',self.klik)
def klik(self,event):
print event.widget
udelatko=event.widget#udelatko je to talčítko na který si kliknul
udelatko["state"]="disabled"

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
geon0
Grafoman
18. 2. 2007   #8
-
0
-

to_jsem_ja píše:Nedá se teda každému tlačítku nějak přiřadit jméno(třeba podle hodnoty proměnné "i") kterým ho budu později volat?



ale vždyt každý tlačítko v tvým případě má jméno!
třeba to první vytvořené se jmenuje (proměnná, instance) self.tlacitka[0] ;-)

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
to_jsem_ja0
Stálý člen
18. 2. 2007   #9
-
0
-

To Blujacker:díky,fachá to
To geon:no jo...lol. jsem si ani neuvědomil:\

Nahlásit jako SPAM
IP: ...–
to_jsem_ja0
Stálý člen
18. 2. 2007   #10
-
0
-

To to_jsem_ja:teď sem si uvědomil že by mi to v mé situaci stejně nepomohlo. já jsem nevěděl které tlačítko jsem zkáčkl, tudíž jsem ho ani nemohl zavolat. To chtělo něco co po stisknutí pošle do běho programu informaci o tom tlačítku. jsem potřeboval přesně to co mi poradil blujacker

Nahlásit jako SPAM
IP: ...–
to_jsem_ja0
Stálý člen
19. 2. 2007   #11
-
0
-

class hra(Frame):

def __init__(self,rodic=0):
Frame.__init__(self, rodic)
self.master.title("hra")
self.points=100
self.vykresli()


toto je hlavička toho programu. napište mi prosím jak tam mám zakomponovat tu proměnou intwar ať to můžu dokončit:))

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
19. 2. 2007   #12
-
0
-



self.points=IntVar()
self.points.set(100)

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
tirio0
Newbie
26. 2. 2007   #13
-
0
-

Dáš sem pak link na tu hru? ;-)
pls

Nahlásit jako SPAM
IP: ...–
Tirio
moje skripty v Pythonu najdete na http://www.beta.tym.cz/index.php?n=Py.Skripty
to_jsem_ja0
Stálý člen
3. 3. 2007   #14
-
0
-
Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Hra had — založil pepca_001

Hra — založil michi

Hra v C++ — založil janysek_

Hra 2 — založil Zelenáč

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý