Advertisement
Guest User

Бедный Python

a guest
Feb 7th, 2022
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.40 KB | None | 0 0
  1. import pygame
  2.  
  3. pygame.init()
  4. win = pygame.display.set_mode((500, 500))
  5.  
  6. pygame.display.set_caption("VLAD.EXE")
  7.  
  8. walkRight = [pygame.image.load('right_1.png'),
  9.              pygame.image.load('right_2.png'), pygame.image.load('right_3.png'),
  10.              pygame.image.load('right_4.png'), pygame.image.load('right_5.png'),
  11.              pygame.image.load('right_6.png')]
  12.  
  13. walkLeft = [pygame.image.load('left_1.png'),
  14.             pygame.image.load('left_2.png'), pygame.image.load('left_3.png'),
  15.             pygame.image.load('left_4.png'), pygame.image.load('left_5.png'),
  16.             pygame.image.load('left_6.png')]
  17.  
  18. bg = pygame.image.load('bg.jpg')
  19.  
  20. playerStand = pygame.image.load('idle.png')
  21.  
  22. clock = pygame.time.Clock()
  23.  
  24. x = 50
  25. y = 425
  26. wight = 60
  27. height = 71
  28. speed = 5
  29. isJump = False
  30. JumpCount = 10
  31.  
  32. left = False
  33. right = False
  34. animCount = 0
  35. lastMove = 'right'
  36.  
  37.  
  38. class snaryad():
  39.     def __init__(self, x, y, radius, color, facing):
  40.         self.x = x
  41.         self.y = y
  42.         self.radius = radius
  43.         self.color = color
  44.         self.facing = facing
  45.         self.vel = c8 * facing
  46.  
  47.     def draw(self, win):
  48.         pygame.draw.circle(win, self.color, (self.x, self.y),
  49.                            self.radius)
  50.  
  51.  
  52. def drawWindow():
  53.     global animCount
  54.     win.blit(bg, (0, 0))
  55.  
  56.     if animCount + 1 >= 30:
  57.         animCount = 0
  58.  
  59.     if left:
  60.         win.blit(walkLeft[animCount // 5], (x, y))
  61.         animCount += 1
  62.     elif right:
  63.         win.blit(walkRight[animCount // 5], (x, y))
  64.         animCount += 1
  65.     else:
  66.         win.blit(playerStand, (x, y))
  67.  
  68.     for bullet in bullets:
  69.         bullet.draw(win)
  70.  
  71.     pygame.display.update()
  72.  
  73.  
  74. run = True
  75. bullets = []
  76. while run:
  77.     clock.tick(30)
  78.  
  79.     for event in pygame.event.get():
  80.         if event.type == pygame.QUIT:
  81.             run = False
  82.     for bullet in bullets:
  83.         if bullet.x < 500 and bullet.x > 0:
  84.             bullet.x += bullet.vel
  85.         else:
  86.             bullets.pop(bullets.index(bullet))
  87.  
  88.     keys = pygame.key.get_pressed()
  89.  
  90.     if keys[pygame.K_f]:
  91.         if lastMove == 'right':
  92.             facing = 1
  93.         else:
  94.             facing = -1
  95.         if len(bullets) and x > 5:
  96.             bullets.append(snaryad(round(x + wight // 2)), (round(y + height // 2), 5, (255, 0, 0, facing))) # ВОТ ТУТ У ТЕБЯ ВСЁ ЕЩЁ ОШИБКА, ИБО НЕДОСТАТОЧНО АРГУМЕНТОВ ПРИ СОЗДАНИИ ОБЪЕКТА КЛАССА И У НИХ ДАЖЕ НЕТУ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ
  97.  
  98.             if keys[pygame.K_LEFT] and x > 5:
  99.                 x -= speed
  100.             left = True
  101.             right = False
  102.             lastMove = 'left'
  103.  
  104.  
  105.         elif keys[pygame.K_RIGHT] and x < 500 - wight - 5:
  106.             x += speed
  107.             left = False
  108.             right = True
  109.             lastMove = 'right'
  110.         else:
  111.             left = False
  112.             right = False
  113.             animCount = 0
  114.             if not (isJump):
  115.                 if keys[pygame.K_SPACE]:
  116.                     isJump = True
  117.                 else:
  118.                     if JumpCount >= -10:
  119.                         if JumpCount < 0:
  120.                             y += (JumpCount ** 2) / 2
  121.             else:
  122.                 y -= (JumpCount ** 2) / 2
  123.                 JumpCount -= 1
  124.  
  125.     else:
  126.         isJump = False
  127.         JumpCount = 10
  128.  
  129.     drawWindow()
  130.  
  131. pygame.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement