line_y += string_high # prompt for guess guess = window.input_string("ENTER PASSWORD >", 0, line_y) # end game # clear window window.clear() # display outcome # display guess # compute y coordinate for every line window_height = window.get_height() line_y = window_height - 7 * string_high line_y //= 2 # compute x coordinate window_width = window.get_width() line_x = window_width - window.get_string_width(guess) line_x //= 2 window.draw_string(guess, line_x, line_y) window.update() sleep(0.3) line_y += string_high # display blank line window.draw_string("", 0, line_y) window.update() sleep(0.3) line_y += string_high # display outcome line 2 if guess == "HUNTING": outcome_line2 = "EXITING DEBUG MODE"
sleep(0.3) line_y = line_y + string_height guess = window.input_string('ENTER PASSWORD >', 0, line_y) line_y = line_y + string_height attempts_left = attempts_left - 1 while guess != password_list[7] and attempts_left > 0: # display attempts left window.draw_string(str(attempts_left), 0, string_height) # check warning if attempts_left == 1: # display warning warning = '*** LOCKOUT WARNING ***' x_space = window.get_width() - window.get_string_width(warning) y_space = window.get_height() - string_height window.draw_string(warning, x_space, y_space) # get guess guess = window.input_string('ENTER PASSWORD >', 0, line_y) line_y = line_y + string_height attempts_left = attempts_left - 1 # end game # clear window window.clear() # create outcome # check guess equals password
class Game: # An object in this class represents a complete game. def __init__(self): # Initialize a Game. # - self is the Game to initialize self._frame_rate = 90 # larger is faster game self._close_selected = False self._score = 0 self._last_score = 0 self._continue_game = True self._reset = False self._click = False # create and adjust window self._window = Window("Poke the Dots", 500, 400) self._adjust_window() # create dots self._small_dot = Dot("red", [50, 100], 30, [1, 2]) self._big_dot = Dot("blue", [200, 100], 40, [2, 1]) # randomize dots self._small_dot.randomize(self._window) self._small_dot.randomize_second_dot(self._window, self._big_dot, 200) def _adjust_window(self): # Adjust the window for the game. # - self is the Game to adjust the window for self._window.set_font_name('ariel') self._window.set_font_size(64) self._window.set_font_color('white') self._window.set_bg_color('black') def play(self): # Play the game until the player presses the close icon and then # close the window. # - self is the Game to play while not self._close_selected: # play frame self.handle_events() self.draw() self.update() else: self._window.close() def handle_events(self): # Handle the current game events by changing the game state # appropriately. # - self is the Game whose events will be handled event_list = get_events() for event in event_list: self.handle_one_event(event) def handle_one_event(self, event): # Handle one event by changing the game state appropriately. # - self is the Game whose event will be handled # - event is the Event object to handle if event.type == QUIT: self._close_selected = True elif self._continue_game and event.type == MOUSEBUTTONUP: self.handle_mouse_up() elif not self._continue_game and event.type == KEYUP and \ event.key == K_RETURN: self._reset = True def handle_mouse_up(self): # Respond to the player releasing the mouse button by taking # appropriate actions. # - self is the Game where the mouse up occurred self._click = True self._small_dot.randomize(self._window) self._small_dot.randomize_second_dot(self._window, self._big_dot, 80) self._small_dot.randomize_color() self._small_dot.randomize_second_dot_color(self._big_dot) def draw(self): # Draw all game objects. # - self is the Game to draw self._window.clear() self.draw_score() self._small_dot.draw(self._window) self._big_dot.draw(self._window) if not self._continue_game: self.draw_game_over() self.draw_reset() self._window.update() def draw_score(self): # Draw the time since the game began as a score. # - self is the Game to draw for score_string = "Score: %d" % self._score self._window.draw_string(score_string, 0, 0) def draw_game_over(self): # Draw GAME OVER in the lower left corner of the surface, using # the small dot's color for the font and the big dot's color as # the background. # - self is the Game to draw for if self._continue_game is False: background = self._window.get_bg_color() font_color = self._window.get_font_color() game_over_background = self._big_dot.get_color() game_over_font_color = self._small_dot.get_color() height = self._window.get_height() string_height = self._window.get_font_height() game_over = "GAME OVER" self._window.set_bg_color(game_over_background) self._window.set_font_color(game_over_font_color) self._window.draw_string(game_over, 0, height - string_height) self._window.set_bg_color(background) self._window.set_font_color(font_color) def draw_reset(self): if self._continue_game is False: self._window.set_font_size(40) message = "PRESS ENTER TO PLAY AGAIN" height = (self._window.get_height() // 2) - 20 messege_width = self._window.get_string_width(message) width = (self._window.get_width() - messege_width) // 2 self._window.draw_string(message, width, height) self._window.set_font_size(64) def update(self): # Update all game objects with state changes that are not due to # user events. Determine if the game should continue. # - self is the Game to update if self._click: self._frame_rate += 10 self._click = False if self._continue_game: # update during game self._small_dot.move(self._window) self._big_dot.move(self._window) self._score = get_ticks() / 1000 - self._last_score # control frame rate clock = Clock() clock.tick(self._frame_rate) # decide continue if self._small_dot.intersects(self._big_dot, 0): self._continue_game = False # reset game if self._reset: self.reset() def reset(self): # Reset the game. # - self is the Game to reset self._last_score = get_ticks() / 1000 # turn milisecods to seconds self._continue_game = True self._reset = False self._small_dot.randomize(self._window) self._small_dot.randomize_second_dot(self._window, self._big_dot, 200) self._frame_rate = 90 self._big_dot.reset_color("blue") self._small_dot.reset_color("red")
#create failure else: outcome_list = [ guess, 'LOGIN FAILURE - TERMINAL LOCKED', 'PLEASE CONTACT AN ADMINISTRATOR' ] prompt = 'PRESS ENTER TO EXIT' #display outcome outcome_height = 7 * text_height line_y = (window.get_height() - outcome_height) / 2 for outcome in outcome_list: line_x = (window.get_width() - window.get_string_width(outcome)) / 2 window.draw_string(outcome, line_x, line_y) window.update() sleep(sleep_time) line_y = line_y + 2 * text_height #prompt for end line_x = (window.get_width() - window.get_string_width(prompt)) / 2 window.input_string(prompt, line_x, line_y) #close window window.close()
window.update() sleep(l1lll11l_opy_) l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ # l111l1l_opy_ l11l1l_opy_ l11l1l_opy_ = l11111l_opy_[7] # get l1llll1l_opy_ prompt = l1ll1l_opy_ (u"ࠨࡇࡑࡘࡊࡘࠠࡑࡃࡖࡗࡕࡒࡅࠢࡁࠫࡃ") # prompt for l1111l_opy_ l1111l_opy_ = window.input_string(prompt, l1lll1l_opy_, l1l1111_opy_) l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ l111111_opy_ = l111111_opy_ - 1 while l1111l_opy_ != l11l1l_opy_ and l111111_opy_ > 0: window.draw_string(str(l111111_opy_), l1lll1l_opy_, l1llll1_opy_) if l111111_opy_ == 1: l111l11_opy_ = l1ll1l_opy_ (u"ࠩ࠭ࠦࡌࡐࡅࡎࡓ࡚࡚ࠠࡘࡃࡕࡒࡎࡔࡇࠡࠬ࠭ࠬࡄ") l111ll1_opy_ = window.get_width() - window.get_string_width(l111l11_opy_) l1lll1ll_opy_ = window.get_height() - l1llll1_opy_ window.draw_string(l111l11_opy_, l111ll1_opy_, l1lll1ll_opy_) l1111l_opy_ = window.input_string(prompt, l1lll1l_opy_, l1l1111_opy_) l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ l111111_opy_ = l111111_opy_ - 1 # end l11l11_opy_ # clear window window.clear() # create l1l1lll_opy_ if l1111l_opy_ == l11l1l_opy_: l1l1lll_opy_ = [l1111l_opy_, l1ll1l_opy_ (u"ࠪࠫࡅ"), l1ll1l_opy_ (u"ࠫࡊ࡞ࡉࡕࡋࡑࡋࠥࡊࡅࡃࡗࡊࠤࡒࡕࡄࡆࠩࡆ"), l1ll1l_opy_ (u"ࠬ࠭ࡇ"), l1ll1l_opy_ (u"࠭ࡌࡐࡉࡌࡒ࡙ࠥࡕࡄࡅࡈࡗࡘࡌࡕࡍࠢ࠰ࠤࡋࡌࡄࡑࡐࡉࠥࡈࡁࡄࡍࠪࡈ"), l1ll1l_opy_ (u"ࠧࠨࡉ")] prompt = l1ll1l_opy_ (u"ࠨࡒࡕࡉࡘ࡙ࠠࡆࡐࡗࡉࡗࠦࡔࡐࠢࡆࡓࡓ࡚ࡉࡏࡗࡈࠫࡊ") else: l1l1lll_opy_ = [l1111l_opy_, l1ll1l_opy_ (u"ࠩࠪࡋ"), l1ll1l_opy_ (u"ࠪࡐࡔࡍࡉࡏࠢࡉࡅࡎࡒࡕࡓࡇࠣ࠱࡚ࠥࡅࡓࡏࡌࡒࡆࡒࠠࡍࡑࡆࡏࡊࡊࠧࡌ"), l1ll1l_opy_ (u"ࠫࠬࡍ"),l1ll1l_opy_ (u"ࠬࡖࡌࡆࡃࡖࡉࠥࡉࡏࡏࡖࡄࡇ࡙ࠦࡁࡏࠢࡄࡈࡒࡏࡎࡊࡕࡗࡖࡆ࡚ࡏࡓࠩࡎ"), l1ll1l_opy_ (u"࠭ࠧࡏ")] prompt = l1ll1l_opy_ (u"ࠧࡑࡔࡈࡗࡘࠦࡅࡏࡖࡈࡖ࡚ࠥࡏࠡࡇ࡛ࡍ࡙࠭ࡐ")
# create failure else: outcome_line2 = "LOGIN FAILURE - TERMINAL LOCKED" outcome_line3 = "PLEASE CONTACT AN ADMINISTRATOR" # display failure outcome # display guess # compute x coordinates x_space = window.get_width() - window.get_string_width(guess) line_x = x_space // 2 # compute y coordinates outcome_height = 7 * string_height y_space = window.get_height() - outcome_height line_y = y_space // 2 window.draw_string(guess, line_x, line_y) window.update()
# check for condition if guess == "HUNTING": # create Success outcome_line_one = "EXITING DEBUG MODE" outcome_line_two = "LOGIN SUCCESSFUL - WELCOME BACK" prompt = "PRESS ENTER TO CONTINUE" else: # create Failure outcome_line_one = "LOGIN FAILURE - TERMINAL LOCKED" outcome_line_two = "PLEASE CONTACT AN ADMNISTRATOR" prompt = "PRESS ENTER TO EXIT" # Display Outcome # Display Guess x_space = window.get_width() - window.get_string_width(guess) line_x = x_space // 2 y_space = window.get_height() - 7 * string_height line_y = y_space // 2 window.draw_string(guess, line_x, line_y) time.sleep(1.5) window.update() height += string_height line_y += string_height # Display Blank line def cal_line_x(string, string_height): x_space = window.get_width() - window.get_string_width(string) line_x = x_space // 2
l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ # l1l_opy_ l1l111_opy_ line window.draw_string(l1ll1l_opy_(u"ࠫࠬࠣ"), 0, l1l1111_opy_) window.update() sleep(0.3) l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ # prompt for l1111l_opy_ l1111l_opy_ = window.input_string(l1ll1l_opy_(u"ࠬࡋࡎࡕࡇࡕࠤࡕࡇࡓࡔ࡙ࡒࡖࡉࠦ࠾ࠨࠤ"), 0, l1l1111_opy_) # end l11l11_opy_ # clear window window.clear() # l1l_opy_ l1ll11l_opy_ l1l1lll_opy_ # l1l_opy_ l1111l_opy_ # l11ll1l_opy_ x l1l11l1_opy_ l1ll1ll_opy_ = window.get_width() - window.get_string_width(l1111l_opy_) l1lll1l_opy_ = l1ll1ll_opy_ // 2 # l11ll1l_opy_ y l1l11l1_opy_ l1lll11_opy_ = 7 * l1llll1_opy_ l1l11ll_opy_ = window.get_height() - l1lll11_opy_ l1l1111_opy_ = l1l11ll_opy_ // 2 window.draw_string(l1111l_opy_, l1lll1l_opy_, l1l1111_opy_) window.update() sleep(0.3) l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ # l1l_opy_ l1l111_opy_ line window.draw_string(l1ll1l_opy_(u"࠭ࠧࠥ"), 0, l1l1111_opy_) window.update() sleep(0.3) l1l1111_opy_ = l1l1111_opy_ + l1llll1_opy_ # l1l_opy_ l1ll11l_opy_ line 2
window.update() sleep(0.3) line_y = line_y + 2 * text_height #prompt for a password guess = window.input_string('ENTER PASSWORD >', line_x, line_y) #clear window window.clear() sleep(0.3) #display failure outcome line_x = (window.get_width() - window.get_string_width(guess)) / 2 line_y = (window.get_height() - (7 * text_height)) / 2 window.draw_string(guess, line_x, line_y) window.update() sleep(0.3) line_x = (window.get_width() - window.get_string_width('LOGIN FAILURE - TERMINAL LOCKED')) / 2 line_y = line_y + 2 * text_height window.draw_string('LOGIN FAILURE - TERMINAL LOCKED', line_x, line_y) window.update() sleep(0.3) line_x = (window.get_width() -
from uagame import Window from time import sleep # create window window = Window('hello', 300, 200) string_height = window.get_font_height() # prompt user input_string = window.input_string('Enter string >', 0, 0) # set text in the right corner x_space = window.get_width() - window.get_string_width(input_string) y_space = window.get_height() - window.get_font_height() # draw text window.draw_string(input_string, x_space, y_space) window.update() sleep(2.0) # close window window.close()
window.update() sleep(0.3) line_y = line_y + string_height window.draw_string("", 0, line_y) window.update() sleep(0.3) line_y = line_y + string_height # prompt for guess guess = window.input_string("ENTER PASSWORD >", 0, line_y) # end game # clear window window.clear() # display failure outcome # display guess # compute x coordinates x_space = window.get_width() - window.get_string_width(guess) line_x = x_space // 2 # compute y coordinates outcome_height = 7 * string_height y_space = window.get_height() - outcome_height line_y = y_space // 2 window.draw_string(guess, line_x, line_y) window.update() sleep(0.3) line_y = line_y + string_height # display blank line window.draw_string("", 0, line_y) window.update() sleep(0.3) line_y = line_y + string_height
line_depth += window.get_font_height() sleep(0.3) window.draw_string('', 0, line_depth) window.update() line_depth += window.get_font_height() sleep(0.3) guess = window.input_string('ENTER PASSWORD >', 0, line_depth) if guess == 'HUNTING': window.clear() line_depth = (window.get_height()-7*window.get_font_height())//2 window.draw_string(guess, (window.get_width()-window.get_string_width(guess))//2, line_depth) line_depth += window.get_font_height() window.update() sleep(0.3) window.draw_string('', 0, line_depth) line_depth += window.get_font_height() window.update() sleep(0.3) window.draw_string('EXITING DEBUG MODE', (window.get_width()-window.get_string_width('EXITING DEBUG MODE'))//2, line_depth) window.update() sleep(0.3) line_depth += window.get_font_height() window.draw_string('', 0, line_depth)
if guess == 'HUNTING': outcome_line2 = 'EXITING DEBUG MODE' outcome_line3 = 'LOGIN SUCCESSFUL - WELCOME BACK' prompt = 'PRESS ENTER TO CONTINUE' #create failure else: outcome_line2 = 'LOGIN FAILURE - TERMINAL LOCKED' outcome_line3 = 'PLEASE CONTACT AN ADMINISTRATOR' prompt = 'PRESS ENTER TO EXIT' #display outcome line_x = (window.get_width() - window.get_string_width(guess)) / 2 line_y = (window.get_height() - (7 * text_height)) / 2 window.draw_string(guess, line_x, line_y) window.update() sleep(0.3) line_x = (window.get_width() - window.get_string_width(outcome_line2)) / 2 line_y = line_y + 2 * text_height window.draw_string(outcome_line2, line_x, line_y) window.update() sleep(0.3) line_x = (window.get_width() - window.get_string_width(outcome_line3)) / 2 line_y = line_y + 2 * text_height
def main(): # create window window = Window('Remember The Word', 500, 400) # display icon window.set_font_color('green') window.set_font_size(100) window_width = window.get_width() icon_width = window.get_string_width('UA') x_icon = window_width - icon_width y_icon = 0 window.draw_string('UA', x_icon, y_icon) # display instructions window.set_font_size(24) window.set_font_color('white') x = 0 y = 0 window.draw_string('A sequence of words will be displayed.', x, y) font_height = window.get_font_height() y = y + font_height window.draw_string('You will be asked which word starts with', x, y) y = y + font_height window.draw_string('a particular letter.', x, y) y = y + font_height window.draw_string('You win if you enter the right word.', x, y) y = y + font_height # prompt player to press enter window.input_string('Press the enter key to display the words.', x, y) # CLEAR WINDOW window.clear() # DISPLAY ICON window.set_font_size(100) window.set_font_color('green') window.draw_string('UA', x_icon, y_icon) # display words # display word 1 window.set_font_size(24) window.set_font_color('white') x = 0 y = 0 window.draw_string('orange', x, y) time.sleep(2) # CLEAR WINDOW window.clear() # DISPLAY ICON window.set_font_size(100) window.set_font_color('green') window.draw_string('UA', x_icon, y_icon) # display word 2 window.set_font_size(24) window.set_font_color('white') window.draw_string('chair', x, y) time.sleep(2) # CLEAR WINDOW window.clear() # DISPLAY ICON window.set_font_size(100) window.set_font_color('green') window.draw_string('UA', x_icon, y_icon) # display word 3 window.set_font_size(24) window.set_font_color('white') window.draw_string('mouse', x, y) time.sleep(2) # COPY AND PASTE HERE # CLEAR WINDOW window.clear() # DISPLAY ICON window.set_font_size(100) window.set_font_color('green') window.draw_string('UA', x_icon, y_icon) # display word 4 window.set_font_size(24) window.set_font_color('white') window.draw_string('sandwich', x, y) time.sleep(2) # CLEAR WINDOW window.clear() # DISPLAY ICON window.set_font_size(100) window.set_font_color('green') window.draw_string('UA', x_icon, y_icon) # get guess window.set_font_size(24) window.set_font_color('white') guess = window.input_string('What word starts with the letter c?', x, y) # CLEAR WINDOW window.clear() # DISPLAY ICON window.set_font_size(100) window.set_font_color('green') window.draw_string('UA', x_icon, y_icon) # display results window.set_font_size(24) window.set_font_color('white') if guess == 'chair': window.draw_string('Congratulations, you are correct.', x, y) else: window.draw_string('Sorry you entered ' + guess, x, y) y = y + font_height window.draw_string('The correct answer was chair.', x, y) # end game x = 0 window_height = window.get_height() y = window_height - font_height window.input_string('Press enter to end the game.', x, y) window.close()
window.update() line_depth += window.get_font_height() sleep(0.3) guess = window.input_string('ENTER PASSWORD >', 0, line_depth) if guess == 'HUNTING': correctphraselist = [guess, '', 'EXITING DEBUG MODE', '', 'LOGIN SUCCESSFUL - WELCOME BACK', ''] window.clear() line_depth = (window.get_height()-7*window.get_font_height())//2 for phrase in correctphraselist: window.draw_string(phrase, (window.get_width()-window.get_string_width(phrase))//2, line_depth) line_depth += window.get_font_height() window.update() sleep(0.3) window.input_string('PRESS ENTER TO CONTINUE', (window.get_width()-window.get_string_width('PRESS ENTER TO CONTINUE'))//2, line_depth) else: incorrectphraselist = [guess, '', 'LOGIN FAILURE - TERMINAL LOCKED', '', 'PLEASE CONTACT AN ADMINISTRATOR', ''] window.clear() line_depth = (window.get_height()-7*window.get_font_height())//2 for phrase in incorrectphraselist:
password = password_list[7] # get guesses # prompt for guess guess = window.input_string("ENTER PASSWORD >", line_x, line_y) line_y += string_high attempts -= 1 # get guess until it is not equal password and attempts left greater than 0 while guess != password and attempts > 0: window.draw_string(str(attempts), 0, string_high) # check warning if attempts == 1: message = "*** LOCKOUT WARNING ***" x = window_width - window.get_string_width(message) y = window_height - string_high window.draw_string(message, x, y) # prompt for guess guess = window.input_string("ENTER PASSWORD >", line_x, line_y) line_y += string_high attempts -= 1 # end game # clear window window.clear() # display outcome # for outcome in outcome list # compute y coordinate for every line
outcome = [ guess, '', 'LOGIN FAILURE - TERMINAL LOCKED', '', 'PLEASE CONTACT AN ADMINISTRATOR', '' ] prompt = 'PRESS ENTER TO EXIT' # display outcome # compute y coordinate outcome_height = (len(outcome) + 1) * string_height y_space = window.get_height() - outcome_height line_y = y_space // 2 for outcome_line in outcome: # display centered outcome line # compute x coordinate x_space = window.get_width() - window.get_string_width(outcome_line) line_x = x_space // 2 window.draw_string(outcome_line, line_x, line_y) window.update() sleep(pause_time) line_y = line_y + string_height # prompt for end x_space = window.get_width() - window.get_string_width(prompt) line_x = x_space // 2 window.input_string(prompt, line_x, line_y) # close window window.close()
window.draw_string('PUTTING', 0, line_depth) window.update() line_depth += window.get_font_height() sleep(0.3) window.draw_string('', 0, line_depth) window.update() line_depth += window.get_font_height() sleep(0.3) entry = window.input_string('ENTER PASSWORD >', 0, line_depth) window.clear() line_depth = (window.get_height()-7*window.get_font_height())//2 window.draw_string(entry, (window.get_width()-window.get_string_width(entry))//2, line_depth) line_depth += window.get_font_height() window.update() sleep(0.3) window.draw_string('', 0, line_depth) line_depth += window.get_font_height() window.update() sleep(0.3) window.draw_string('LOGIN FAILURE - TERMINAL LOCKED', (window.get_width()-window.get_string_width('LOGIN FAILURE - TERMINAL LOCKED'))//2, line_depth) window.update() sleep(0.3) line_depth += window.get_font_height() window.draw_string('', 0, line_depth)