davidhellam

Python: High-Low Game

Aug 20th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.19 KB | None | 0 0
  1. from guizero import App, Box, info, PushButton, Text, TextBox
  2.  
  3. import random
  4.  
  5. def chooseno():
  6.     return random.randint(1,100)
  7.  
  8. game = App(title="High Low Game", width=640, height=240)
  9.  
  10. def begin():
  11.     lb_turn.hide()
  12.     lb_guess.hide()
  13.     tb_guess.hide()
  14.     bt_guess.hide()
  15.     lb_feedback.hide()
  16.     bt_quit.hide()
  17.    
  18. def dostart():
  19.     lb_turn.number = 1
  20.     lb_turn.value="Turn: "+str(lb_turn.number)
  21.     lb_turn.show()
  22.     lb_guess.number=chooseno()
  23.     lb_guess.show()
  24.     tb_guess.show()
  25.     bt_guess.show()
  26.     lb_feedback.value=" "
  27.     lb_feedback.show()
  28.     lb_instructions1.hide()
  29.     lb_instructions2.hide()
  30.     lb_instructions3.hide()
  31.     lb_instructions4.hide()
  32.     lb_instructions5.hide()
  33.     bt_start.hide()
  34.     bt_quit.hide()
  35.     tb_guess.value=""
  36.  
  37. def clearfeedback():
  38.     lb_feedback.value=" "
  39.     lb_turn.value="Turn: "+str(lb_turn.number)
  40.  
  41. def doguess():
  42.     if int(tb_guess.value)>int(lb_guess.number):
  43.         lb_feedback.value="Too Big!"
  44.         lb_turn.number=lb_turn.number+1
  45.     elif int(tb_guess.value)<int(lb_guess.number):
  46.         lb_feedback.value="Too Small!"
  47.         lb_turn.number=lb_turn.number+1
  48.     else:
  49.         lb_feedback.value="Correct!"
  50.         info ("You Guessed the Number!","You took "+str(lb_turn.number)+" guesses!")
  51.         restart()
  52.     if int(lb_turn.number)>7:
  53.         info ("Too many guesses","The correct answer was "+str(lb_guess.number)+"!")
  54.         restart()
  55.    
  56.  
  57. def restart():
  58.     lb_turn.hide()
  59.     lb_guess.hide()
  60.     tb_guess.hide()
  61.     bt_guess.hide()
  62.     lb_feedback.value="Another Game?"
  63.     bt_start.show()
  64.     bt_quit.show()
  65.  
  66. def doquit():
  67.     game.destroy()
  68.  
  69. area = Box(game, layout="grid")
  70.  
  71. lb_title = Text(area, text="High-Low Game", size=24, color=(128,0,0), grid=[0,0,3,1])
  72. lb_turn = Text(area, text="Turn: x", size=18, align="left", color=(0,0,128), grid=[0,1,1,1])
  73. lb_turn.number = 0
  74.  
  75. lb_guess = Text(area, text="Your Guess:", size=18, align="right", color=(0,0,0), grid=[0,2,1,1])
  76. tb_guess = TextBox(area,width=6, align="left", grid=[1,2,1,1])
  77. tb_guess.text_size=18
  78. bt_guess = PushButton(area, text="Make a Guess", grid=[2,2,1,1])
  79. bt_guess.bg=(127,255,255)
  80. bt_guess.when_clicked=doguess
  81. tb_guess.update_command(clearfeedback)
  82.  
  83.  
  84.  
  85. lb_feedback =Text(area,text="Too Big!", size=24, color=(0,0,128),grid=[0,3,3,1])
  86.  
  87. lb_instructions1 = Text(area, text="I am thinking of a number between 1 and 100.",color=(0,0,128),grid=[0,4,3,1])
  88. lb_instructions2 = Text(area, text="You have seven guesses to work out which number it is.",color=(0,0,128),grid=[0,5,3,1])
  89. lb_instructions3 = Text(area, text="Just type your guess into the textbox and click on the button.",color=(0,0,128),grid=[0,6,3,1])
  90. lb_instructions4 = Text(area, text="I will tell you if your guess is too big, too small or correct.",color=(0,0,128),grid=[0,7,3,1])
  91. lb_instructions5 = Text(area, text="Click on the start button when you are ready.",color=(0,0,128),grid=[0,8,3,1])
  92.  
  93. bt_start = PushButton(area,text="Start", grid=[2,9,1,1])
  94. bt_start.bg=(127,255,255)
  95. bt_start.when_clicked=dostart
  96.  
  97. bt_quit = PushButton(area,text="Quit", grid=[0,9,1,1])
  98. bt_quit.bg=(255,127,255)
  99. bt_quit.when_clicked=doquit
  100.  
  101. begin()
  102.  
  103. game.display()
Add Comment
Please, Sign In to add comment