esmaspäev, 8. detsember 2014

Ühendatud

# Ühendasime oma koodid ning osa asu töötas, osa mitte nii nagu sooviksime. Ilmnesid probleemid, kuna me ei saa aru, mis järjekorras funktsioonid töötavad ning miks töötab vale asi, kui hulgas pole sõnu "sa" või "sina", kirjutab välja vastusena label1.configure(text="Mida?!?!?!"), kuigi peaks selle välja jätma ning alustama järgmise elif-lausega.




from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from tkinter import font

root=Tk() #root ise pandud
root.title("Naine vigiseb!")

pearaam = ttk.Frame(root, padding="20 20 20 20")
pearaam.grid(column=0, row=0, sticky=(N, W, E, S))
pearaam.columnconfigure(0, weight=1)
pearaam.rowconfigure(0, weight=1)

tahvel=Canvas(root)
tahvel.grid(column=4, row=0)

# - andmete sisselugemine --------
küsimused = []
vastused = []
lühivastused = []
pahanduslaused = []

#loeb sisse küsimused tekstifailist. Igast küsimusest moodustub listi element.
f = open("pahanduslaused.txt")
for e in f:
    e = e.strip()
    pahanduslaused.append(e)
f.close()
print(pahanduslaused)


f = open("küsimused.txt")
for e in f:
    e = e.strip()
    küsimused.append(e)
f.close()
print(küsimused)
#pikematest vastustest on välja võetud võtmesnad. võtmesõnade kombinatsioonid
#moodustavad hulgad. ühele küsimusele vastavad hulgad moodustavad vastuste listis elemendi
f = open('head_vastused.txt')
for e in f:
    templist = []
    e = e.strip().split(',')
    for i in range(len(e)):
        e[i] = e[i].strip()
        hulk = e[i].split()
        templist.append(set(hulk))
    vastused.append(templist)
f.close()
print(vastused)
print(templist)
#lühivastustega sama dela, mis küsimustega
f = open('lühivastused.txt')
for e in f:
    e = e.strip().split(',')
    for i in range(len(e)):
        e[i] = e[i].strip()
    lühivastused.append(e)
f.close()
print(lühivastused)
# - -----------------------------

# - -------------

#Funktsioon, mis teeb sõnad vastuses hulgaks.
def vastus_set(vastus):
    vastuse_set = set()
    vastus = vastus.lower()
    vastus = vastus.strip().split()
    for e in vastus:
        vastuse_set.add(e)
    return vastuse_set

#selleks, et leida, kas on lühivastus või on tegemist pikema lausega.
def vastuse_pikkus(vastus):
    järjend = []
    vastus = vastus.lower()
    vastus = vastus.strip().split()
    pikkus = len(vastus)
    return pikkus

#kasutatavad funktsioonid:

def stopProg(e): #lõpetab tegumi
    messagebox.showinfo(message="Suutsid naise tuju heaks teha!")
    root.destroy()

def transfertext(e): # saab tulla tekst vastusena
    silt.configure(text="Aitäh!")#seesama LABEL1 või silt

def tuju(e): # vastab kordusega
    silt.configure(text="Mis " + sisestus.get()+"?")

def vastamine(e): #vastus vastavalt kirjutatule
    ee = sona.get()
    ee = ee.lower()
    if ee == '':
        label1.configure(text='Mida sa vaikid nüüd, ma küsisisn sult midagi!')
        button2.configure(bg="red", text="Räägi minuga!")
    elif vastuse_pikkus(ee) < 2:
        label1.configure(text="Kirjuta pikemalt")
        button2.configure(bg="green", text="Vasta!")
##        if lühivastuseid_järjest == 1:
##            print('Tead, kui sa ainult lühivastuseid annad, siis me ei pea üldse rääkima.')
##            print('Ma kordan ennast.')
##            lühivastuseid_järjest += 1
##            pass
##        elif lühivastuseid_järjest == 2:
##            print('Järelikult sa ei taha minuga enam rääkida.')
##            break
##        elif vastus in lühivastused[vastuse_järg]:
##            lühivastuseid_järjest += 1
##            if lühivastused[vastuse_järg].index(vastus) < 10:
##                küsimuse_järg += 1
##            else:
##                küsimuse_järg += 2
##            küsimus = False
##            pass
     

    elif vastuse_pikkus(ee) == 2:
        global vastuse_pikkus
        vastus_setina = vastus_set(ee)
        if vastus_setina in vastused[0]:
            label1.configure(text="Minust räägid vä? Mis ma olen?")
            button2.configure(bg="#FFC078", text="Ütle mulle!")
        elif vastus_setina not in vastused[0]:
            from random import randint
            suva = randint(0, len(pahanduslaused)-1)
            label1.configure(text=pahanduslaused[suva])
         

    elif vastuse_pikkus(ee) > 2:
        global vastuse_pikkus
        vastus_setina = vastus_set(ee)
        if "sa" or "sina" in vastus_setina:
            vastuse_pikkus = len(vastus_setina)
            for e in vastused[0]:
                a = len(e)
                b = len(vastus_setina)
                c = vastus_setina - e
                if len(c) == b - a:
                    label1.configure(text="""Aitäh! Ma tahtsingi
sellist komplimenti kuulda!""")
                    button2.configure(bg="gold", text="Enam ei pea midagi ütlema")
                    button2.bind('<Button-1>', stopProg)
                else:
                    label1.configure(text="Mida?!?!?!")
##        elif "sa" or "sina" not in vastus_setina:
##            vastuse_pikkus = len(vastus_setina)
##            for e in vastused[0]:
##                a = len(e)
##                b = len(vastus_setina)
##                c = vastus_setina - e
##                if len(c) == b - a:
##                    label1.configure(text="Kes siis???")
##                    button2.configure(bg="red", text="Mida?")
        else:
            from random import randint
            suva = randint(0, len(pahanduslaused)-1)
            label1.configure(text=pahanduslaused[suva])




##
##  
##    eeset = set()
##    for element in ee:
##        eeset.add(element)
##    if eeset in vastused[0]:
##        silt.configure(text="Mina vä?")
##    elif eeset in lühivastused[0]:
##        label1.configure(text="Misasja siis? Vasta mu küsimusele!!!")
##
##    else:
##        label1.configure(text="tere")
##





     



##    if ee == "sa oled jumalik" or ee == "sa oled kaunitar":
##        label1.configure(text="Aitäh, selle ilusa komplimendi eest!!!")
##        button2.configure(bg="gold", text="Enam ei pea midagi ütlema")
##        button2.bind('<Button-1>',stopProg)
##        button1.configure(text="Sa rahuldasid ta!", bg="green")
##        button1.bind('<Button-1>',stopProg)
##        tahvel.create_image(250, 130, image=pilt1)
 
##    elif ee == "jaa":
##        #koht.set(ee + " uus asi") #uude kohta tekkiv
##        label1.configure(text="Mis mõttes mis jaaaaa? ")
##        button1.configure(text="Ilmus uus ja sule mäng kastiga", bg="gold")
##        button1.bind('<Button-1>', lõpeta)
##        button2.configure(bg="red")
##    elif ee == "oled ilus" or ee == "ilus":
##        label1.configure(text="Kui ilus ja kes??? ")
##    elif ee=="oled ilus jaa":
##        label1.configure(text="""Kas sa nagu täislausega ei oska mulle
##öelda kui väga ilus ma olen väää?! """)
##    elif ee == "sa oled kole":
##        stopProg(e)      
##    else:
##        label1.configure(text="""Räägi selgete sõnadega ja täislausega!
##Milline ma siis välja näen su meelest?!?!""")

def lõpeta(e):#kui inimene ajas naise täiesti närvi
    messagebox.showinfo(message="Sa ei suuda mu tuju parandada! Asi on läbi!")
    stopProg(e)


pilt = PhotoImage(file="tumblr_mr4ca3Dn6P1rpqa4xo1_500.gif")
pilt1 = PhotoImage(file="happy-woman-gifs.gif")
tahvel.create_image(200, 200, image=pilt)

appHighlightFont = font.Font(family='Helvetica', size=12, weight='bold')

silt = ttk.Label(pearaam, text="Kas ma olen ilus?")
silt.grid(column=1, row=1, rowspan=1, columnspan=1, sticky=(N, W, E, S))

sona = StringVar()
koht = StringVar() #VARIAABLID

sisestus = ttk.Entry(pearaam, width=40, textvariable=sona)#VASTUS
sisestus.grid(column=2, row=1)

ttk.Label(pearaam, textvariable=koht).grid(column=1, row=5) #SEE ILMUB fniga

button1=Button(pearaam,text="Kast läheb kinni", bg="green") #see võiks tulla kui mäng on läbi
button1.grid(column=2, row=5, sticky=(N, W)) #keskel sticky N W
button1.bind('<Button-1>',stopProg)#kinniminemisefn

button2=Button(pearaam,text="Vasta mulle!", bg="pink", cursor="heart")
button2.grid(column=2, row=3)
button2.bind('<Button-1>',vastamine)

##button3=Button(pearaam,text="Vastan sulle!", bg="blue", activebackground="black")
##button3.grid(column=2, row=3)
##button3.bind('<Button-1>',vastamine) #fn
##
##nupp3=Button(pearaam, text="Kordan sind", bg="brown")
##nupp3.grid(column=2, row=4)
##nupp3.bind('<Button-1>', tuju)
##
##nupp4=Button(pearaam, text="Mängu kaotus", bg="red") #katsetus
##nupp4.grid(column=2, row=6)
##nupp4.bind('<Button-1>', lõpeta)
##
##button4=Button(pearaam, activebackground="black", bitmap="questhead")
##button4.grid(column=4, row=3)
##button4.bind('<Button-1>',vastamine)

label1=Label(pearaam,text="Vasta siis kenasti!", font=appHighlightFont) #ilmub kiri
label1.grid(column=1, row=3)



for child in pearaam.winfo_children(): child.grid_configure(padx=10, pady=10) #paigutuse element


root.mainloop()

Kommentaare ei ole:

Postita kommentaar