BetterBuiltFool

Untitled

Dec 22nd, 2024 (edited)
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.01 KB | Source Code | 0 0
  1. import pygame
  2.  
  3. pygame.init()
  4. size = (700, 700)
  5. black = (0, 0, 0)
  6. white = (255, 255, 255)
  7. pink = (255, 73, 243)
  8. blue = (75, 193, 255)
  9. window = pygame.display.set_mode(size)
  10.  
  11. clicked = False
  12.  
  13. title1_color = (0, 0, 0)
  14. title1_rect = pygame.Rect(300, 100, 50, 50)
  15. title1_font = pygame.font.SysFont(None, 46)
  16. title1_text = title1_font.render("Text1", True, pink)
  17. title1_text_rect = title1_text.get_rect(center=title1_rect.center)
  18.  
  19. title2_color = (0, 0, 0)
  20. title2_rect = pygame.Rect(300, 150, 50, 50)
  21. title2_font = pygame.font.SysFont(None, 46)
  22. title2_text = title2_font.render("Text2", True, blue)
  23. title2_text_rect = title2_text.get_rect(center=title2_rect.center)
  24.  
  25. title3_color = (0, 0, 0)
  26. title3_rect = pygame.Rect(300, 200, 50, 50)
  27. title3_font = pygame.font.SysFont(None, 46)
  28. title3_text = title3_font.render("Text3", True, white)
  29. title3_text_rect = title3_text.get_rect(center=title3_rect.center)
  30.  
  31. play_color = blue
  32. play = pygame.Rect(275, 300, 100, 50)
  33. play_font = pygame.font.SysFont(None, 40)
  34. play_text = play_font.render("PLAY", True, white)
  35. play_text_rect = play_text.get_rect(center=play.center)
  36.  
  37. quit_color = pink
  38. quit = pygame.Rect(275, 400, 100, 50)
  39. quit_font = pygame.font.SysFont(None, 40)
  40. quit_text = quit_font.render("QUIT", True, white)
  41. quit_text_rect = quit_text.get_rect(center=quit.center)
  42.  
  43. level1_color = pink
  44. level1 = pygame.Rect(275, 200, 100, 50)
  45. level1_font = pygame.font.SysFont(None, 36)
  46. level1_text = level1_font.render("LEVEL 1", True, white)
  47. level1_text_rect = level1_text.get_rect(center=level1.center)
  48.  
  49. # --------Added---------
  50. MENU = 0
  51. LEVEL_ONE = 1
  52.  
  53. game_state = MENU
  54.  
  55.  
  56. # --------Break out into functions---------
  57. def draw_menu(window: pygame.Surface):
  58.  
  59.     pygame.draw.rect(window, title1_color, title1_rect)
  60.     window.blit(title1_text, title1_text_rect)
  61.  
  62.     pygame.draw.rect(window, title2_color, title2_rect)
  63.     window.blit(title2_text, title2_text_rect)
  64.  
  65.     pygame.draw.rect(window, title3_color, title3_rect)
  66.     window.blit(title3_text, title3_text_rect)
  67.  
  68.     pygame.draw.rect(window, play_color, play)
  69.     window.blit(play_text, play_text_rect)
  70.  
  71.     pygame.draw.rect(window, quit_color, quit)
  72.     window.blit(quit_text, quit_text_rect)
  73.  
  74.  
  75. def draw_level_one(window: pygame.Surface):
  76.  
  77.     pygame.draw.rect(window, level1_color, level1)
  78.     window.blit(level1_text, level1_text_rect)
  79.  
  80.  
  81. running = True
  82. while running:
  83.  
  84.     pos = pygame.mouse.get_pos()
  85.  
  86.     for event in pygame.event.get():
  87.         if event.type == pygame.QUIT:
  88.             running = False
  89.         # -------Reorganized-------
  90.         if event.type == pygame.MOUSEBUTTONDOWN:
  91.             if play.collidepoint(pos):
  92.                 print("clicked")
  93.                 game_state = LEVEL_ONE
  94.             elif quit.collidepoint(pos):
  95.                 running = False
  96.                 break
  97.  
  98.     window.fill(black)
  99.  
  100.     # ---------Refactored--------
  101.     if game_state == 0:
  102.         draw_menu(window)
  103.     elif game_state == 1:
  104.         draw_level_one(window)
  105.  
  106.     pygame.display.update()
  107.  
Tags: python pygame
Advertisement
Add Comment
Please, Sign In to add comment