Ответы 1
Ответ:
Конечно, я могу помочь с изменением кода. Вот исправленный код, который рисует виселицу и меняет цвет кнопок в зависимости от правильности ответа:
from random import randint
from tkinter import *
from tkinter import messagebox
logs = Tk()
logs.geometry("900x800")
kanva = Canvas(logs, width=300, height=300)
kanva.place(x=0, y=0)
vardi=["Gurķis", "Tomāts", "Burkāns", "Ķirbis", "Sīpols"]
nosaukums=Label(logs,text='Karatavas spēle', font="Arial 20 bold")
nosaukums.pack()
Uzdevums=Label(logs, text="", font="Arial 50 bold")
Uzdevums.place(x=120, y=400)
y=0
wordIndex=""
def Word():
global wordIndex
r=randint(0,4)
wordIndex=vardi[r]
global Uzdevums
Uzdevums.config(text="-"*len(wordIndex))
global numlncorrect
numlncorrect=0
kanva.delete("all")
zimet()
Word()
def checkLetter(event):
global numlncorrect
burts=event.widget["text"]
z=wordIndex.find(burts)
if wordIndex[z]==burts:
newGuess = ""
oldGuess=Uzdevums["text"]
for i in range(len(wordIndex)):
if burts==wordIndex[i]:
newGuess+=burts
else:
newGuess+=oldGuess[i]
Uzdevums.config(text=newGuess)
if Uzdevums["text"]==wordIndex:
for i in range(33):
burti[i]["state"] = DISABLED
nebeigt1=messagebox.askyesno("uzvara","Vai spēlēsi vēl?")
if nebeigt1==True:
Word()
for i in range(33):
burti[i]["state"] = NORMAL
else:
logs.destroy()
else:
numlncorrect+=1
zimet()
if numlncorrect==10:
for i in range(33):
burti[i]["state"] = DISABLED
nebeigt2=messagebox.askyesno("zaudējums","Vai spēlēsi vēl?")
if nebeigt2==True:
Word()
for i in range(33):
burti[i]["state"] = NORMAL
else:
logs.destroy()
event.widget["bg"] = "red"
burti=[]
x="AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"
for i in range(33):
burti.append(Button(logs, text = x[i], fg = "white", bg="green", width=3, font="Arial 20 bold"))
burti[i].place(x=500+70*(i%5), y=60+70*(i//5))
burti[i].bind('<Button-1>', checkLetter)
def zimet():
global numlncorrect
if numlncorrect == 1:
kanva.create_line(10,290,140,290,width=4)
ответы на свои вопросы
вопросы?