# all output for the game will be printed in the console #my last version RANGE_LIMIT=100 # helper function to calculate the number of allowed guess def calculate_guess_max(RANGE_LIMIT): import math GUESS_MAX=math.log(RANGE_LIMIT,2) GUESS_MAX=math.ceil(GUESS_MAX) GUESS_MAX=int(GUESS_MAX) return GUESS_MAX # helper function to start and restart the game def new_game(): # initialize global variables used in your code here import random global secret_number,RANGE_LIMIT,guess_counter,GUESS_MAX secret_number=random.randrange(RANGE_LIMIT) if RANGE_LIMIT == 100: GUESS_MAX=calculate_guess_max(RANGE_LIMIT) guess_counter=GUESS_MAX #print "GUESS_MAX",GUESS_MAX print "" print "Starting new game with range [0,100)" print "Number of remainig guesses is:",GUESS_MAX print "Guess a number in the indicated range" else: GUESS_MAX=calculate_guess_max(RANGE_LIMIT) guess_counter=GUESS_MAX #print "GUESS_MAX",GUESS_MAX print "" print "Starting new game with range [0,1000)" print "Number of remainig guesses is:",GUESS_MAX print "Guess a number in the indicated range" #print "secret number is:",secret_number #debugging statement # define event handlers for control panel def range100(): # button that changes the range to [0,100) and starts a new game global RANGE_LIMIT RANGE_LIMIT=100 new_game() def range1000(): # button that changes the range to [0,1000) and starts a new game global RANGE_LIMIT RANGE_LIMIT=1000 new_game() def input_guess(guess): # main game logic goes here global secret_number,guess_counter guess=int(guess) print "Guess was:",guess
if guess < secret_number :
guess_counter -= 1 print "Number of remainig guesses is:",guess_counter if guess_counter==0: print "You ran out of guesses. The number was:",secret_number new_game() print "Higher" elif guess > secret_number : guess_counter -= 1 print "Number of remainig guesses is:",guess_counter if guess_counter==0: print "You ran out of guesses. The number was:",secret_number new_game() print "Lower" elif guess == secret_number : guess_counter -= 1 print "Number of remainig guesses is:",guess_counter print "Correct" new_game() # create frame import simplegui frame = simplegui.create_frame('Guess the number',100,180) inp=frame.add_input('Input guess',input_guess,100) # register event handlers for control elements and start frame button1 = frame.add_button('Range is [0,100)',range100,150) button2 = frame.add_button('Range is [0,1000)',range1000,150) frame.start() # call new_game new_game() # always remember to check your completed program against the grading rubric