from
tkinter
import
*
from
PIL
import
ImageTk, Image
import
random
import
tkinter.messagebox as tmsg
app
=
Tk()
count
=
0
def
generate():
global
comp
comp
=
random.randint(
1
,
101
)
def
basic():
app.title(
"Number Guessing game"
)
app.geometry(
"500x500"
)
app.minsize(
500
,
500
)
app.maxsize(
500
,
500
)
photo
=
PhotoImage(
file
=
"guess.png"
)
app.iconphoto(
False
, photo)
heading
=
Label(text
=
'Number Guessing game'
, font
=
"Helvicta 18 bold"
,
bg
=
'black'
, fg
=
'tomato'
, padx
=
170
).pack()
with
open
(
'score.txt'
,
'r'
) as f:
hg
=
f.read()
sc
=
Label(app, text
=
f
'Previous score: {hg}'
, font
=
'lucida 8 bold '
).pack(
anchor
=
E, padx
=
25
, pady
=
5
)
footer
=
Label(text
=
'Developed by Siddharth Dyamgond'
, font
=
"Helvicta 8 bold"
,
bg
=
'black'
, fg
=
'tomato'
, padx
=
153
).pack(side
=
BOTTOM)
mymenu
=
Menu(app)
filee
=
Menu(mymenu, tearoff
=
0
)
mymenu.add_cascade(label
=
'Start'
, menu
=
filee)
mymenu.add_cascade(label
=
'Restart'
, command
=
restart)
mymenu.add_command(label
=
'About'
, command
=
call1)
mymenu.add_command(label
=
'Quit'
, command
=
quit)
app.config(menu
=
mymenu)
generate()
def
result():
global
count
number
=
userv.get()
if
number
=
=
'':
tmsg.showerror(
'Error'
,
"Please enter a value"
)
else
:
n
=
int
(number)
count
+
=
1
if
count
=
=
10
:
a
=
tmsg.showinfo(
'Game over'
,
'You loose the Game!'
)
elif
comp
=
=
n:
score
=
11
-
count
a
=
tmsg.showinfo(
'Win'
, f
'You guess right number!\nYour score {score}'
)
show.config(text
=
'Winn!'
, fg
=
'green'
)
with
open
(
'score.txt'
,
'w'
) as f:
f.write(
str
(score))
generate()
tmsg.showinfo(
'Next number'
, f
'click ok to Guess another number'
)
elif
comp > n:
show.config(text
=
'Select greater number'
, fg
=
'red'
)
else
:
show.config(text
=
'Select smaller number'
, fg
=
'red'
)
def
restart():
tmsg.showerror(
'Reset'
,
"Game reset!"
)
generate()
def
call1():
str1
=
'This game is developed by XD\n\ncopyright@2021-22 '
tmsg.showinfo(
'About'
, str1)
basic()
print
(comp)
userv
=
StringVar()
user
=
Entry(app, textvariable
=
userv, justify
=
CENTER, relief
=
FLAT,
borderwidth
=
2
, font
=
'Helvicta 18 bold'
).pack(pady
=
10
)
i
=
Image.
open
(
'guess.png'
, mode
=
'r'
)
img
=
ImageTk.PhotoImage(i)
l
=
Label(image
=
img).pack(pady
=
30
)
i
=
Image.
open
(
'bt.png'
)
resized_image
=
i.resize((
150
,
50
), Image.ANTIALIAS)
new_image
=
ImageTk.PhotoImage(resized_image)
submit
=
Button(app, image
=
new_image, command
=
result,
font
=
'Helvicta 18 bold'
, relief
=
FLAT).pack(pady
=
10
)
show
=
Label(app, text
=
'
', font='
Helvicta
12
bold')
show.pack(pady
=
10
)
app.mainloop()