Advertisement
Daniel_leinaD

agsdfgfhvggdf

Mar 3rd, 2023
872
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.68 KB | None | 0 0
  1. import pygame
  2.  
  3. clock = pygame.time.Clock()
  4.  
  5. pygame.init()
  6. screen = pygame.display.set_mode((600, 300))
  7. pygame.display.set_caption("Polina's GAME")
  8. icon = pygame.image.load('иконка игры').convert_alpha()
  9. pygame.display.set_icon(icon)
  10.  
  11. # myfont = pygame.font.Font('путь для шрифта')# шрифт для надписи fonts google
  12. # text_surface = myfont.render('test - текст надписи', False, 'Black') # доп. характеристики
  13.  
  14. # ИГРОК
  15. walk_right = [
  16.     pygame.image.load('...').convert_alpha()  # перебор картинок игрока для создания анимации
  17.     # ...
  18. ]
  19.  
  20. walk_left = [
  21.     # ...
  22. ]
  23. # соприкосновние
  24.  
  25. player_anim_count = 0
  26. player_speed = 5
  27. player_x = 150
  28. player_y = 250
  29.  
  30. is_jump = False
  31. jump_count = 8
  32.  
  33. # если изображение png - convert_alpha()
  34. # иначе - convert()
  35.  
  36. # ВРАГ
  37. enemy = pygame.image.load('путь к врагу').convert_alpha()
  38. enemy_timer = pygame.USEREVENT + 1
  39. pygame.time.set_timer(enemy_timer, 2500)
  40. enemy_list_in_game = []
  41.  
  42. # ЗАДНИЙ ФОН
  43. bg = pygame.image.load('путь к фону').convert()
  44. bg_x = 0
  45.  
  46. # ЗВУК
  47. bg_sound = pygame.mixer.Sound('путь к файлу звука')
  48. bg_sound.play()
  49.  
  50. # ИГРА
  51. gameplay = True
  52. label = pygame.font.Font('путь к шрифту', 40)
  53. lose_label = label.render('ВЫ ПРОИГРАЛИ!!!', False, (193, 196, 199))
  54. restart_label = label.render('Хотите начать заново?', False, (115, 132, 148))
  55. restart_label_rect = restart_label.get_rect(topleft=(180, 200))
  56.  
  57. # ПУЛЯ
  58. bullet = pygame.image.load('путь к пуле')
  59. bullets = []
  60. bullets_amount = 5
  61.  
  62.  
  63. running = True
  64. while running:
  65.  
  66.     screen.blit(bg, (bg_x, 0))
  67.     screen.blit(bg, (bg_x + 600, 0))
  68.  
  69.     if gameplay:
  70.  
  71.         player_rect = walk_right[0].get_rect(topleft=(player_x, player_y))
  72.  
  73.         if enemy_list_in_game:
  74.             for (i, element) in enumerate(enemy_list_in_game):
  75.                 screen.blit(enemy, element)
  76.                 element.x -= 10
  77.  
  78.                 if element.x < -10:
  79.                     enemy_list_in_game.pop(i)
  80.  
  81.                 if player_rect.colliderect(element):
  82.                     gameplay = False
  83.  
  84.         keys = pygame.key.get_pressed()
  85.  
  86.         if keys[pygame.K_LEFT]:
  87.             screen.blit(walk_left[player_anim_count], (player_x, player_y))
  88.         else:
  89.             screen.blit(walk_right[player_anim_count], (player_x, player_y))
  90.  
  91.         if keys[pygame.K_LEFT] and player_x > 50:
  92.             player_x -= player_speed
  93.         elif keys[pygame.K_RIGHT] and player_x < 250:
  94.             player_x += player_speed
  95.  
  96.         if not is_jump:
  97.             if keys[pygame.K_SPACE]:
  98.                 is_jump = True
  99.         else:
  100.             if jump_count >= -8:
  101.                 if jump_count > 0:
  102.                     player_y -= (jump_count ** 2) / 2
  103.                 else:
  104.                     player_y += (jump_count ** 2) / 2
  105.                 jump_count -= 1
  106.             else:
  107.                 is_jump = False
  108.                 jump_count = 8
  109.  
  110.         if player_anim_count == len(walk_right):
  111.             player_anim_count = 0
  112.         else:
  113.             player_anim_count += 1
  114.  
  115.         bg_x -= 2
  116.         if bg_x == -600:
  117.             bg_x = 0
  118.  
  119.  
  120.  
  121.         if bullet:
  122.             for (i, el) in enumerate(bullets):
  123.                 screen.blit(bullet, (el.x, el.y))
  124.                 el.x += 5
  125.  
  126.                 if el.x > 650:
  127.                     bullets.pop(i)
  128.  
  129.                 if enemy_list_in_game:
  130.                     for (index, enemy_el) in enumerate(enemy_list_in_game):
  131.                         if el.colliderect(enemy_el):
  132.                             enemy_list_in_game.pop(index)
  133.                             bullets.pop(i)
  134.  
  135.     else:
  136.         screen.fill((0, 0, 0))
  137.         screen.blit(lose_label, (180, 100))
  138.         screen.blit(restart_label_label, restart_label_rect)
  139.  
  140.         mouse = pygame.mouse.get_pos()
  141.         if restart_label_rect.collidepoint(mouse) and pygame.mouse.get_pressed()[0]:
  142.             gameplay = True
  143.             player_x = 150
  144.             enemy_list_in_game.clear()
  145.             bullets.clear()
  146.  
  147.     pygame.display.update()
  148.  
  149.     for event in pygame.event.get():
  150.         if event.type == pygame.quit():
  151.             running = False
  152.             pygame.quit()
  153.         if event.type == enemy_timer:
  154.             enemy_list_in_game.append(enemy.get_rect(topleft=(620, 250)))
  155.         if gameplay and event.type == pygame.KEYUP and event.key == pygame.K_c and bullets_amount > 0:
  156.             bullets.append(bullet.get_rect(topleft=(player_x, player_y)))
  157.             bullets_amount -= 1
  158.     clock.tick(15)
  159.  
  160.  
  161.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement