Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf8 -*-
- from tkinter import Frame, Label, Button, Tk, PhotoImage
- word = 'apple'
- alphabet = 'abcdefghijklmnopqrstuvwxyz'
- mistakes_made = 0
- max_mistakes = 8
- guessed_letters =[]
- def word_to_print(word, guessed_letters):
- st=[]
- for letter in word:
- if letter in guessed_letters:
- st.append(letter)
- else:
- st.append('_')
- return ' '.join(st)
- def is_word_guessed(word, guessed_letters):
- for letter in word:
- if letter not in guessed_letters:
- return False
- return True
- root = Tk()
- wordFrame = Frame(root)
- wordFrame.pack(side='top', fill='x')
- hangstand = Frame(root).pack(side='bottom')
- gif = PhotoImage(file='hang1.gif')
- hangstandImage = Label(hangstand, image=gif)
- hangstandImage.image = gif
- hangstandImage.pack()
- alphabetFrame = Frame(root)
- alphabetFrame.pack(side='bottom',fill='both')
- wordLabel = Label(wordFrame, text=word_to_print(word,guessed_letters),
- font=('Arial', 24, 'bold'), relief = 'ridge')
- wordLabel.pack()
- def draw_mistakes():
- gif = PhotoImage(file='hang'+str(mistakes_made+1)+'.gif')
- hangstandImage.config(image = gif)
- hangstandImage.image = gif
- def callback(letter):
- btns[letter].config(state='disabled')
- global mistakes_made
- global guessed_letters
- guessed_letters.append(letter)
- if not letter in word:
- mistakes_made+=1
- draw_mistakes()
- else:
- wordLabel.configure(text=word_to_print(word,guessed_letters))
- btns = {}
- for letter in alphabet:
- btns[letter] = Button(alphabetFrame, text=letter, padx=3, font=('Arial', 14),
- command = lambda name = letter : callback(name))
- btns[letter].pack(side='left', padx=1)
- root.mainloop()
Add Comment
Please, Sign In to add comment