#”Guess the number” game
# input will come from buttons and an input field
# all output for the game will be printed in the console
import simplegui
import random
import math
# initialize global variables used in your code
num_range = 100
secret_number = 0
guesses_left = 7
# helper function to start and restart the game
def new_game():
# initialize global variables used in your code here
global secret_number
global guesses_left
secret_number = random.randrange(0, num_range)
if num_range == 100 :
guesses_left = 7
else:
# num_range == 1000
guesses_left = 10
print “New game. Range is from 0 to”, num_range
print “Number of remaining guesses is “, guesses_left, “\n”
# define event handlers for control panel
def range100():
# button that changes the range to [0,100) and starts a new game
global num_range
num_range = 100
new_game()
def range1000():
# button that changes the range to [0,1000) and starts a new game
global num_range
num_range = 1000
new_game()
def input_guess(guess):
# main game logic goes here
global guesses_left
print “Guess was: “, guess
guesses_left -= 1
print “Number of remaining guesses is “, guesses_left
if int(guess) == secret_number:
print “Correct!\n”
new_game()
elif guesses_left > 0:
#provide feedback
if int(guess) > secret_number:
print “Lower!\n”
else:
print “Higher!\n”
else:
#game over
print “You ran out of guesses. The number was “, secret_number, “\n”
new_game()
# create frame
f = simplegui.create_frame(“Game: Guess the number!”, 200, 200)
# register event handlers for control elements and start frame
f.add_button(“Range is [0, 100)”, range100, 200)
f.add_button(“Range is [0, 1000)”, range1000, 200)
f.add_input(“Enter your guess”, input_guess, 200)
# call new_game
new_game()
f.start()
http://www.codeskulptor.org
https://inventwithpython.com/chapter4.html