» »

Igrica v Python, Tkinter

Igrica v Python, Tkinter

kodsiti1 ::

Namen je da bi po kliku gumba igra trajala 30 sekund, prikazovala bi se po 1 beseda, ki je nakljucno izbrana iz seznama in ce bi bila ta beseda pravilno vpisana bi "score" dobil vrednost +1... v vsakem primeru(ali je vpisano pravilno ali narobe), se prikaže nova beseda in krog naj bi se ponovil
po 30 sekundah naj bi se igra zaključila in prikazala rezultat..


Ko kliknes gumb za zacetek igre, se le ta začne ampak ko vpišeš besedo v textbox, se ne zgodi nič..in pa tudi po 30sekundah ko bi se morala igra zaključiti se ne zgodi nič...

pa javi mi se tale error
line 42, in gumbek
nakljucnabeseda = besede[nakljucno]
IndexError: list index out of range

from tkinter import *

import time

import random


score = 0



def gumbek():


    for i in reversed(range(0, 30)):
        time.sleep(1)
        x = i - 1

        navodila = Label(okno, text="Vpisi besede iz okenca in preveri hitrost svojega pisanja!", font=('Helvetica', 12))
        navodila.pack()

        label = Label(okno, font=('Helvetica', 15))
        label.pack()

        vpisibesede = Entry(okno)
        vpisibesede.pack()


        while x > 0:


            


        
            besede = ["abalakov", "abalakovov", "abalienacija", "abalienacijski", "abalon", "abalona", "abalonji", "abamektin", "abancen", "abandon", "abandonirati", "abasidski", "abaton", "abavit", "abaz", "abaza", "abazija", "abažur", "abbe", "abbejev", "abbevilien", "abcigati", "abc (abece)", "abderit", "abderitizem", "abderitski", "abderitstvo", "abderski", "abdicirajoc", "abdicirati", "abdicevec", "abdikacija", "abdikacijski", "abdikcija", "abdikcijski", "abdomen", "abdomeski", "abdominalen", "abdominoperinealen", "abdominoplastika", "abduciran", "abducirati", "abdukcija", "abdukcijski", "abdukt", "abduktiven", "abduktor", "abe", "abece", "abeceda", "abecedar", "abecedarcek", "abecedarica", "abecedarij", "abecedarija", "abecedarski", "abecedarstvo", "abeceden", "abecedica", "abecedika", "abecediranje", "abecednica", "abecednik", "abecedniški", "abecednoiimenski", "abecednoimenski", "abeitinski", "abejevec", "abekvoza", "abelakov", "abelardovski", "abelardovstvo", "abelia", "abelski", "halucinatoren", "halucinatoricen", "halucinatorski", "halucinirajoc", "haluciniranec", "haluciniranje", "halucinirati", "halucinogen", "halucinogenost", "halucinoza", "halug", "haluga", "halugast", "halupa", "halužin", "halva", "halvat", "halvetija", "ham", "hamada", "hamadriada", "hamadrias", "hamadrija", "hamagidon", "hamak", "hamal", "hamam", "hamamelen", "hamartija", "hamasov", "hamasovec", "hamasovski", "hamati", "hamazin", "hambar", "hamburgarica", "hamburger", "hamburgerica", "hamburgerjanski", "hamburgerski", "hamburk", "hamburški", "hamburžanka", "hamefit", "hamer", "hameršus", "hametaologija", "hamica", "hamiden", "hamidjeh", "hamilcars", "hamiltonovec", "hamiltonovski", "hamiltonski", "hamit", "hamitski", "hamitšcina", "hamlet", "hamletizem", "medojedka", "medokenje", "medokenski", "medoknica", "medokrajen", "medokrožen", "medoktobrski", "medokupacijski", "medokvir", "medokviren", "medolimpijski", "medolivec", "medolivnica", "medolizec", "medoljuben", "medometalnica", "medomrežen", "medomrežje", "medomrežno", "medonosen", "medonoska", "medonosnica", "medoperabilen", "medoperabilnost", "medoperacijski", "medoperaterski", "medoperativen", "medoperativnost", "medopomba", "medopravilen", "medopravilno", "medopravilnost", "medorbitalen", "medorez", "medorganizacijski", "medorganski", "medoseben", "medosebnost", "medosebnosten", "nestanovitnež", "nestanovitnica", "nestanovitnost", "nestanovski", "nestar", "nestaranje", "nestarcevski", "nestarljivost", "nestarševski", "nestarterski", "nestati", "nestaticen", "nestatisticen", "nestatistik", "nestatnost", "nestatusen", "nestatutaren", "nestavben", "nestavbinec", "nestavcen", "nestavek", "nestavkajoc", "nestavkoven", "nestavkujoc", "nestecajen", "nestecen", "nestehiometricen", "nestehiometricno", "nestehniziran", "nestehtan", "nesteklarski", "nesteklen", "nesteklenicen", "nestepen", "nesteptan", "nestereotipen", "nesterilen", "nesteriliziran", "nesterilnost", "nesteroiden", "nestesan", "nesti", "nesticen", "nesticno", "nesticnost", "nestiden", "nestihijski", "nestik", "nestilen", "nestilist", "nestiliziran", "nestilsko", "nestimulacija", "nestimulativen", "nestimulativnost", "nestimuliran", "nestimuliranje", "nestimuliranost", "nestinarski", "nestisljiv", "nestisljivost", "nestisnjen", "nestohasticen", "nestojen", "nestojnost", "nestolcen", "nestolen", "nestomaren", "nestopen", "nestopenjski", "nestopljen", "nestopljiv", "nestopljivost", "nestopnjevalen", "nestopnjevan", "nestor", "nestorcek", "nestoren", "nestorianizem", "nestorijanec", "nestorijanizem", "nestorijanski", "nestorijanstvo", "nestorilnosten", "nestorilnostno", "nestoritven", "nestorjen", "nestorka", "nestornik", "nestrah", "nestrahariti", "nestrahopeten", "nestranka", "nestrankar", "nestrankarica", "nestrankarski", "nestrankarskost", "nestrankarstvo", "nestrankin", "nestranski", "nestrast", "nestrasten", "nestrastje", "nestrašen", "nestrašljiv", "nestrategicen", "nestrateški", "nestratificiran", "nestrdljiv", "nestrelen", "nestreljan", "nestreljanje", "nestrelski", "nestremec", "nestremljenjski", "nestremljiv", "nestremuški", "nestresen", "nestresno", "nestrežniški", "nestrikten", "nestrinjanje", "nestrinljiv", "pogrošnik", "pogrošnost", "pogroziti", "pogršan", "pogršanje", "pogršati", "pogrševati", "pogrubanica", "pogrubati", "pogruditi", "pogruliti", "pogruntacija", "pogruntati", "pogruntavšcina", "pogruziniti", "pogruziti", "poguba", "pogubalo", "pogubecen", "pogubecnost", "poguben", "pogubež", "pogubilen", "pogubitelj", "pogubitev", "pogubiti", "pogubljajoc", "pogubljanje", "pogubljati", "pogubljenec", "pogubljenje", "pogubljenost", "sarong", "saronid", "saronski", "saros", "saroš", "sarovka", "sarpinka", "sarrusophone", "sars", "sarsaparila", "sarsaparilla", "sarski", "sarsomanija", "sarški", "sartan", "sartoc", "sartor", "sartrianski", "sartrolog", "sartrovec", "sartrovka", "sartrovski", "sartrovstvo", "sartrski", "sarusofon", "sarvangasana", "sarvarski", "sarzanski", "sarzaparila", "sarža", "saržent", "saržer", "sasafras", "sasafrasov", "secati", "secekrven", "secekrvnost", "secen", "secenica", "secentist", "secerja", "secevina", "secevje", "secevod", "secevoden", "seci", "secicek", "secija", "secila", "secina", "secišce", "seciven", "secivo", "secje", "secka", "seckast", "secnica", "secnik", "secnikov", "secnina", "secninski", "spletalka", "spletalnik", "spletanje", "spletanka", "spletar", "spletati", "spletcica", "spletek", "spleten", "spletenica", "spleteniciti", "spletenina", "spletenka", "spletenost", "spleticenje", "spleticna", "spleticnež", "spletišcar", "spletišce", "spletje", "spletka", "spletkar", "spletkaren", "spletkarica", "spletkarija", "spletkariti", "spletkarjenje", "spletkarka", "spletkarnost", "spletkarski", "spletkarstvo", "sprej", "sprejanje", "sprejar", "sprejarski", "sprejem", "sprejema", "sprejemalcev", "sprejemalec", "sprejemalen", "sprejemališce", "sprejemalka", "sprejemalnica", "sprejemalo", "sprejemanje", "sprejemati", "sprejemen", "tudifilozof", "tudikati", "tudikatolican", "tudiknjiževnik", "tudimarksist", "tudipesnik", "tudirevolucionar", "tudisocialist", "tüdlzog", "tudom", "tudong", "tudor", "tudorski", "tujerodec", "tujeroden", "tujerodka", "tujerodniški", "tujerodnost", "tujestranec", "tujestranka", "tujestranstvo", "tujesveten", "tujetožje", "tujetrgovski", "tujevaluten", "tujevanje", "tujeverec", "tujeveren", "tujeverski", "tujevina", "tunicin", "tunid", "tunifikacija", "tunika", "tunikat", "tunina", "tuning", "tuniški", "tunizijski", "tuniziranje", "tunj", "tunja", "tunjaca", "tunjera", "tunjevina", "tunjiški", "tunjka", "tunk", "tunkanje", "tunkati", "tunkec", "tuu", "tuuraden", "tuuum", "tuvalski", "tuvalujski", "tuvan", "tuza", "tuzelski", "tuzemec", "tuzemeljski", "tuzemen", "tuzemlje", "tuzemski", "tuzemskost", "tuzemstvo", "tuzen", "tuzlanski", "tuzok", "tužen", "tužnost", "tu-bit", "tu-bivajoc", "TV", "tvar", "tvaren", "tvarica", "tvorništvo", "tvorno", "tvornopretekli", "tvornosedanji", "tvornost", "tvorov", "tvorstvo", "tvrd", "tvrden", "tvrdka", "tvrdkin", "tvrzanje", "twainovski", "tweed", "twiggyjevski", "twill", "twinpeaksovski", "twinset", "twist", "twistar", "twistarski", "twistati", "twistaton", "twistovski", "twostep", "txist", "uganjanje", "uganjati", "uganjevalec", "uganjevanje", "uganjevati", "uganka", "ugankar", "ugankarica", "ugankariti", "ugankarski", "ugankarstvo", "ugankast", "ugankati", "ugankepoln", "ugankica", "ugankopisje", "ugankoslovje", "uganljiv", "uganovalka", "ujckalnica", "ujckanje", "ujckati", "ujcknica", "ujcna", "ujcnica", "ujcnik", "ujec", "ujeca", "ujecarski", "ujeciti", "ujeda", "ujedac", "ujedalica", "ujedamec", "ujedanje", "ujedanka", "ujedar", "ujedati", "ujedav", "ujedavati", "ujedavec", "ujedavka", "ujedec", "vsevoditeljen", "vsevodje", "vsevodstvo", "vsevohajoc", "vsevojen", "vsevolja", "vsevpliven", "vsevprecno", "vsevprek", "vsevpreken", "vsevprekoma", "vsevpricujoc", "vsevreden", "vsevrednost", "vsevrednota", "vsevremenski", "vsevrsten", "vsevseben", "zvapneneti", "zvar", "zvara", "zvarek", "zvarek (izvarek)", "zvaren", "zvarilo", "zvarišce", "zvaritev", "zvariti", "zvarjak", "zvarjanje", "zvarjati", "zvarjenec", "zvarjenje", "zvarjenka", "zvarka", "zvarkoven", "zvarljiv", "žvrgljati", "žvrgljavka", "žvrgniti", "žvrgolc", "žvrgolenje", "žvrgoleti", "žvrgolevati", "žvrgolevcek", "žvrgolincek", "žvrgolinec", "žvrgolinka", "žvrgolišce"]


            nakljucno = random.randint(1, 632)


            nakljucnabeseda = besede[nakljucno]



            vpisibesede.focus_set()

            label.config(text= nakljucnabeseda)
            if vpisibesede == nakljucnabeseda:
                score = score + 1


                vpisibesede.delete(0, tkinter.END)
            else:
                vpisibesede.delete(0, tkinter.END)




        else:


            rezultat = score * 2


            def konecigre():
                tkMessageBox.showinfo("Vasa hitrost pisanja je",rezultat," besed na minuto")
                global okno
                okno.destroy()



okno = Tk()
okno.title("Hitrost pisanja")
canvas = Canvas(width=400, height=50)
canvas.pack()

navodila = Label(okno, text="Preveri hitrost svojega pisanja, tako da v polje vpises prikazane besede!", font=('Helvetica', 12))
navodila.pack()

gumb = Button(okno, text="Zacni igro!", command =gumbek)
gumb.pack(fill=BOTH)



okno.mainloop()




Kako bi lahko to popravil=?
  • spremenilo: kodsiti1 ()

kodsiti1 ::

UPDATE: Problem je, kako nardim da ko uporabnik pritisne enter se sprozi dolocena koda ki preveri ce so besede pravilne?

in zakaj countdown ne deluje?

FrEaKmAn ::

Če prvo odgovorimo prvo vprašanje. Seznam besed (priporočam, da bi tole bral iz neke .txt datoteke, kjer je vsaka beseda v novi vrstici) je dolg 630 besed. Nakljucni index pa ima range od 1 do 632.
a) Če se začne z 1, kako boš pa dobil prvo besedo z indexom 0?
b) Indexi začnejo z 0, torej če imaš 630 besed in prva ima index 0, kateri index ima zadnja beseda?

Tukaj imaš ogromno podobnih primerov http://www.python-course.eu/tkinter_ent... (return key je enter).

Glede logike, da se igra konča čez 30 sekund, pa lahko rešiš s timerjem https://docs.python.org/2/library/sched...

kodsiti1 ::

a) Jah to sem spregledal, moralo bi biti od 0 da

Z timerjem sem pa tudi resil, tako da sem nardil funkcijo za odstevanje, nastavil cas, in uporabil After (funkcija v pythonu ali kako bi se lahko izrazil) tako da se funkcija po 1sekundi ponovi in se cas zmanja za -1, ko pa je enak 0 pa se igra zkljuci.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Python - Tkinter - MessageBox

Oddelek: Programiranje
101432 (1083) radiergummi
»

python -slovar

Oddelek: Programiranje
222959 (1938) Valex86
»

Python, prosim za pomoc pri programiranju (strani: 1 2 3 )

Oddelek: Programiranje
10413201 (9303) lenika
»

[JAVA] branje iz datoteke

Oddelek: Programiranje
242265 (1900) Bela01
»

Win32 API(VC++)

Oddelek: Programiranje
7779 (681) hatch

Več podobnih tem