qeqwew

Untitled

Oct 6th, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. import pygame
  2. from pygame import *
  3. import random
  4.  
  5. class Bullet:
  6. def __init__(self,x,y,radius,color,facing):
  7. self.x = x
  8. self.y = y
  9. self.radius = radius
  10. self.color = color
  11. self.facing = facing
  12. self.vel = 8 * facing
  13.  
  14. def draw(self,win):
  15. pygame.draw.circle(win,self.color,(self.x,self.y),self.radius)
  16.  
  17.  
  18.  
  19.  
  20. class Player:
  21. def __init__(self, x, y, w, h,speed):
  22. self.x = x
  23. self.y = y
  24. self.w = w
  25. self.h = h
  26. self.speed = speed
  27. self.isJump = False
  28. self.jumpCount = 10
  29. self.bullets = []
  30. self.lastMove ="R"
  31. self.facing = 1
  32.  
  33.  
  34.  
  35. def draw_player(self):
  36. pygame.draw.rect(win,(255,255,255), (self.x, self.y, self.h, self.w))
  37.  
  38. def shoot(self):
  39. for bullet in self.bullets:
  40. if bullet.x < win_w and bullet.x > 0:
  41. bullet.x += bullet.vel
  42. else:
  43. self.bullets.pop(self.bullets.index(bullet))
  44.  
  45.  
  46. def move_player1(self):
  47. keys = pygame.key.get_pressed()
  48.  
  49. if keys[pygame.K_SPACE]:
  50. if self.lastMove == "R":
  51. self.facing = 1
  52. else:
  53. self.facing = -1
  54.  
  55. if len(self.bullets) < 1:
  56. self.bullets.append(Bullet(round(self.x +self.w // 2),round(self.y +self.h // 2),5,(255,0,0),self.facing))
  57.  
  58. if keys[pygame.K_a] and self.x > 5:
  59. self.x -= self.speed
  60. self.lastMove = "L"
  61. if keys[pygame.K_d] and self.x < win_w - self.w - 5:
  62. self.x += self.speed
  63. self.lastMove = "R"
  64. if not(self.isJump):
  65. if keys[pygame.K_w] and self.y > 5 :
  66. self.isJump = True
  67. if keys[pygame.K_s] and self.y < win_h - self.h - 5:
  68. self.y += self.speed
  69. else:
  70. if self.jumpCount >= -10:
  71. if self.jumpCount < 0:
  72. self.y += (self.jumpCount ** 2)/2
  73. else:
  74. self.y -= (self.jumpCount ** 2)/2
  75. self.jumpCount -= 1
  76. else:
  77. self.isJump = False
  78. self.jumpCount = 10
  79.  
  80.  
  81.  
  82. def move_player2(self):
  83. keys = pygame.key.get_pressed()
  84. if keys[pygame.K_z]:
  85. if self.lastMove == "R":
  86. self.facing = 1
  87. else:
  88. self.facing = -1
  89.  
  90. if len(self.bullets) < 1:
  91. self.bullets.append(Bullet(round(self.x +self.w // 2),round(self.y +self.h // 2),5,(255,0,0),self.facing))
  92. if keys[pygame.K_LEFT] and self.x > 5:
  93. self.x -= self.speed
  94. self.lastMove = "L"
  95. if keys[pygame.K_RIGHT] and self.x < win_w - self.w - 5:
  96. self.x += self.speed
  97. self.lastMove = "R"
  98. if not(self.isJump):
  99. if keys[pygame.K_UP] and self.y > 5 :
  100. self.isJump = True
  101. if keys[pygame.K_DOWN] and self.y < win_h - self.h - 5:
  102. self.y += self.speed
  103. else:
  104. if self.jumpCount >= -10:
  105. if self.jumpCount < 0:
  106. self.y += (self.jumpCount ** 2)/2
  107. else:
  108. self.y -= (self.jumpCount ** 2)/2
  109. self.jumpCount -= 1
  110. else:
  111. self.isJump = False
  112. self.jumpCount = 10
  113.  
  114. pygame.init()
  115.  
  116. pygame.display.set_caption("Dun")
  117.  
  118. player1 = Player(50, 590, 50, 50, 5)
  119. player2 = Player(450,590, 50, 50, 5)
  120.  
  121. win_w = 800
  122. win_h = 640
  123.  
  124. win = pygame.display.set_mode((win_w,win_h))
  125.  
  126. start = 1
  127. game = 2
  128. death = 3
  129. winner = 4
  130. buff = 5
  131. bos = 6
  132. state = game
  133.  
  134.  
  135.  
  136. run = True
  137. while run:
  138. pygame.time.delay(20)
  139.  
  140. for event in pygame.event.get():
  141. if event.type == pygame.QUIT:
  142. pygame.quit()
  143.  
  144.  
  145. if state == game:
  146.  
  147. player1.move_player1()
  148. player1.shoot()
  149. player2.move_player2()
  150. player2.shoot()
  151.  
  152. win.fill((0,0,0))
  153.  
  154. player1.draw_player()
  155. for bullet in player1.bullets:
  156. bullet.draw(win)
  157. player2.draw_player()
  158. for bullet in player2.bullets:
  159. bullet.draw(win)
  160. pygame.display.update()
Advertisement
Add Comment
Please, Sign In to add comment