Advertisement
Guest User

Untitled

a guest
Sep 25th, 2020 (edited)
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.91 KB | None | 0 0
  1. import pygame
  2. pygame.init()
  3.  
  4. # Build The Screen
  5. window = pygame.display.set_mode((700,500))
  6.  
  7. fps = (10)
  8. clock = pygame.time.Clock()
  9.  
  10. # COLORS
  11. white = (255,255,255)
  12.  
  13. darkred = (200,0,0)
  14.  
  15. darkgreen = (0,200,0)
  16.  
  17. green = (0,255,0)
  18.  
  19. red = (255,0,0)
  20.  
  21. black = (0,0,0)
  22.  
  23. shootsound = pygame.mixer.Sound("shoot.1.wav")
  24.  
  25. ebomb = pygame.mixer.Sound("explo.1.wav")
  26.  
  27. pbomb = pygame.mixer.Sound("explo.2.wav")
  28.  
  29. music = pygame.mixer.Sound("music.1.wav")
  30.  
  31. pygame.mixer.music.load("music.1.wav")
  32. pygame.mixer.music.play(-1)
  33.  
  34.  
  35.  
  36. #######
  37. # Start Screen
  38. def text_objects(text, font):
  39. textSurface = font.render(text, True, black)
  40. return textSurface, textSurface.get_rect()
  41.  
  42. def button(msg,x,y,w,h,ic,ac,action=None):
  43. mouse = pygame.mouse.get_pos()
  44. click = pygame.mouse.get_pressed()
  45. #print(click)
  46. if x+w > mouse[0] > x and y+h > mouse[1] > y:
  47. pygame.draw.rect(window, ac,(x,y,w,h))
  48.  
  49. if click[0] == 1 and action != None:
  50. action()
  51. else:
  52. pygame.draw.rect(window, ic,(x,y,w,h))
  53.  
  54. smallText = pygame.font.SysFont("comicsansms",40)
  55. textSurf, textRect = text_objects(msg, smallText)
  56. textRect.center = ( (x+(w/2)), (y+(h/2)) )
  57. window.blit(textSurf, textRect)
  58.  
  59. def quitgame():
  60. pygame.quit()
  61.  
  62.  
  63. def game_intro():
  64.  
  65. intro = True
  66.  
  67. while intro:
  68. for event in pygame.event.get():
  69. if event.type == pygame.QUIT:
  70. pygame.quit()
  71. quit()
  72.  
  73. window.fill((255,255,255))
  74. largeText = pygame.font.Font('freesansbold.ttf',95)
  75. TextSurf, TextRect = text_objects("AIR FLIGHT", largeText)
  76. TextRect.center = ((700/2),(500/2))
  77. window.blit(TextSurf, TextRect)
  78.  
  79. button("Fly!",50,350,200,100,green,darkgreen,main_loop2)
  80. button("Land!",450,350,200,100,red,darkred,quitgame)
  81.  
  82. pygame.display.update()
  83. clock.tick(fps)
  84.  
  85. # Start Screen
  86. ###
  87.  
  88. def main_loop():
  89. global pause
  90. global Dead
  91. global Won
  92.  
  93. # Name Screen
  94. pygame.display.set_caption("Noobs first Game")
  95.  
  96. bg = pygame.image.load("skybg1.png")
  97. bg_shift = 0
  98.  
  99. import pygame
  100. pygame.init()
  101.  
  102. # Build The Screen
  103. window = pygame.display.set_mode((700,500))
  104.  
  105. # Name Screen
  106. pygame.display.set_caption("Noobs first Game")
  107.  
  108. bg = pygame.image.load("skybg1.png")
  109. bg_shift = 0
  110.  
  111.  
  112. # Class Player
  113. class player:
  114. def __init__(self,x,y,width,height,color):
  115. self.x = x
  116. self.y = y
  117. self.width = width
  118. self.height = height
  119. self.speed = 6
  120. self.color = color
  121. self.rect = pygame.Rect(x,y,width,height)
  122. self.ss1 = pygame.image.load("heroplane1.png")
  123. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))
  124. def draw(self):
  125. self.rect.topleft=(self.x,self.y)
  126. pygame.draw.rect(window,self.color,self.rect)
  127.  
  128. player_rect = self.ss1.get_rect(center = self.rect.center)
  129. player_rect.centerx += -7
  130. player_rect.centery += -6
  131. window.blit(self.ss1,player_rect)
  132.  
  133. # Class Enemy
  134. class Enemy:
  135. def __init__(self,x,y,width,height,color,imagefile):
  136. self.x = x
  137. self.y = y
  138. self.width = width
  139. self.height = height
  140. self.speed = 4
  141. self.color = color
  142. self.rect = pygame.Rect(x,y,width,height)
  143. self.ss1 = pygame.image.load(imagefile)
  144. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))
  145.  
  146. self.etimer = 0 # <---
  147.  
  148. def draw(self):
  149. self.rect.topleft = (self.x,self.y)
  150. pygame.draw.rect(window,self.color,self.rect)
  151. enemy_rect = self.ss1.get_rect(center = self.rect.center)
  152. enemy_rect.centerx += -2
  153. enemy_rect.centery += -6
  154. window.blit(self.ss1,enemy_rect)
  155.  
  156.  
  157.  
  158. class enemy3:
  159. def __init__(self,x,y,width,height,color):
  160. self.x = x
  161. self.y = y
  162. self.width = width
  163. self.height = height
  164. self.color = color
  165. self.rect = pygame.Rect(x,y,width,height)
  166. self.ss1 = pygame.image.load("enemyplane3.png")
  167. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))
  168. def draw(self):
  169. self.rect.topleft = (self.x,self.y)
  170. pygame.draw.rect(window,self.color,self.rect)
  171.  
  172. enemy3_rect = self.ss1.get_rect(center = self.rect.center)
  173. enemy3_rect.centerx += -4
  174. enemy3_rect.centery += -6
  175. window.blit(self.ss1,enemy3_rect)
  176.  
  177.  
  178. # Class Enemy3
  179. class Star:
  180. def __init__(self,x,y,width,height,color):
  181. self.x = x
  182. self.y = y
  183. self.width = width
  184. self.height = height
  185. self.color = color
  186. self.rect = pygame.Rect(x,y,width,height)
  187. self.ss1 = pygame.image.load("skycoin.png")
  188. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//12,self.ss1.get_height()//12))
  189. def draw(self):
  190. self.rect.topleft = (self.x,self.y)
  191. pygame.draw.rect(window,self.color,self.rect)
  192.  
  193. enemy3_rect = self.ss1.get_rect(center = self.rect.center)
  194. enemy3_rect.centerx += -4
  195. enemy3_rect.centery += -4
  196. window.blit(self.ss1,enemy3_rect)
  197.  
  198.  
  199.  
  200. class projectile(object):
  201. def __init__(self, x, y,color):
  202. self.x = x
  203. self.y = y
  204. self.slash = pygame.image.load("herogun1.png")
  205. self.slash = pygame.transform.scale(self.slash,(self.slash.get_width()//11,self.slash.get_height()//11))
  206. self.rect = self.slash.get_rect()
  207. self.rect.topleft = ( self.x, self.y )
  208. self.speed = 10
  209. self.color = color
  210.  
  211. def draw(self, window):
  212. self.rect.topleft = ( self.x,self.y )
  213. window.blit(self.slash, self.rect)
  214.  
  215. class enemybullets(object):
  216. def __init__(self, x, y,color):
  217. self.x = x
  218. self.y = y
  219. self.slash = pygame.image.load("enemygun1.png")
  220. self.slash = pygame.transform.scale(self.slash,(self.slash.get_width()//11,self.slash.get_height()//11))
  221. self.rect = self.slash.get_rect()
  222. self.rect.topleft = ( self.x, self.y )
  223. self.speed = 10
  224. self.color = color
  225.  
  226. def draw(self, window):
  227. self.rect.topleft = ( self.x,self.y )
  228. window.blit(self.slash, self.rect)
  229.  
  230.  
  231. class Power:
  232. def __init__(self,x,y,width,height,color):
  233. self.x = x
  234. self.y = y
  235. self.width = width
  236. self.height = height
  237. self.color = color
  238. self.speed = 4
  239. self.rect = pygame.Rect(x,y,width,height)
  240. def draw(self):
  241. self.topleft = (self.x,self.y)
  242. pygame.draw.rect(window,self.color,self.rect)
  243.  
  244.  
  245.  
  246.  
  247.  
  248. # Color
  249. white = (255,255,255)
  250.  
  251. black = (0,0,0)
  252. # Draw Player
  253. playerman = player(5,250,90,40,white)
  254.  
  255. # For Enemy
  256. enemy1 = Enemy(400, 100, 90, 40, white, "enemyplane1.png")
  257. enemy4 = Enemy(400, 400, 90, 40, white, "enemyplane1.png")
  258.  
  259. # Star
  260. star1 = Star(300,250,45,45,white)
  261. star2 = Star(300,350,45,45,white)
  262.  
  263.  
  264. # For Enemy
  265. enemys = [enemy1,enemy4]
  266.  
  267. #For Coin
  268. stars = [star1,star2]
  269.  
  270. # enemys
  271. enemyGroup = pygame.sprite.Group()
  272. level1 = [
  273. " 1 c 1 c 1 c c c ",
  274. " 1 1 1 c 1 c 1 1 1 1 1 1 1 c c c c c ",
  275. " 1 c 1 1 1 c 1 c 1 c c c ",
  276. " 1 c 1 c 1 1 1 c1 c 1 1 1 c 1 c 1 1 c c ",
  277. " c 1 1 c 1 c1 1 1 1 1 c1 1 c 1 1 c c c c ",
  278. " c 1 c 1 c c 1 c 1 c c c ",
  279. " 1 1 c 1 1 c 1 c1 1 c 1 1 cc 1 c 1 1 c 1 c c c c c",]
  280.  
  281.  
  282. for iy, row in enumerate(level1):
  283. for ix, col in enumerate(row):
  284. if col == "1":
  285. new_enemy = Enemy(ix*70,iy*70,90,40,(255,255,255),"enemyplane1.png")
  286. enemys.append(new_enemy)
  287. for iy, row in enumerate(level1):
  288. for ix, col in enumerate(row):
  289. if col == "c":
  290. new_stars = Star(ix*70,iy*70,45,45,(255,255,255))
  291. stars.append(new_stars)
  292.  
  293.  
  294. Dead = False
  295.  
  296. def quitgame():
  297. pygame.quit()
  298.  
  299. def undie():
  300. global Dead
  301. Dead = False
  302.  
  303. def Die():
  304.  
  305. largeText = pygame.font.SysFont("comicsansms",115)
  306. TextSurf, TextRect = text_objects("You Died!", largeText)
  307. TextRect.center = ((700/2),(500/2))
  308. window.blit(TextSurf, TextRect)
  309.  
  310. while Dead:
  311. for event in pygame.event.get():
  312. if event.type == pygame.QUIT:
  313. pygame.quit()
  314. quit()
  315.  
  316. button("Fly!",50,350,200,100,green,darkgreen,main_loop)
  317. button("Land!",450,350,200,100,red,darkred,quitgame)
  318.  
  319.  
  320. pygame.display.update()
  321. clock.tick(fps)
  322.  
  323. ############
  324.  
  325. pause = False
  326.  
  327.  
  328. def quitgame():
  329. pygame.quit()
  330.  
  331. def unpause():
  332. global pause
  333. pause = False
  334.  
  335. def paused():
  336.  
  337.  
  338.  
  339. largeText = pygame.font.SysFont("comicsansms",115)
  340. TextSurf, TextRect = text_objects("Paused", largeText)
  341. TextRect.center = ((700/2),(500/2))
  342. window.blit(TextSurf, TextRect)
  343.  
  344.  
  345. while pause:
  346. for event in pygame.event.get():
  347. if event.type == pygame.QUIT:
  348. pygame.quit()
  349. quit()
  350.  
  351.  
  352.  
  353. button("Fly",50,350,200,100,green,darkgreen,unpause)
  354. button("Land",450,350,200,100,red,darkred,quitgame)
  355.  
  356. pygame.display.update()
  357. clock.tick(15)
  358.  
  359.  
  360. ########
  361.  
  362. Won = False
  363.  
  364. def quitgame():
  365. pygame.quit()
  366.  
  367. def Next():
  368. global Won
  369. Won = False
  370.  
  371. def Wins():
  372.  
  373. largeText = pygame.font.SysFont("comicsansms",115)
  374. TextSurf, TextRect = text_objects("YOU WON!", largeText)
  375. TextRect.center = ((700/2),(500/2))
  376. window.blit(TextSurf, TextRect)
  377.  
  378. while Won:
  379. for event in pygame.event.get():
  380. if event.type == pygame.QUIT:
  381. pygame.quit()
  382. quit()
  383.  
  384. button("Next!",50,350,200,100,green,darkgreen,main_loop2)
  385. button("Land!",450,350,200,100,red,darkred,quitgame)
  386.  
  387.  
  388.  
  389.  
  390. pygame.display.update()
  391. clock.tick(fps)
  392.  
  393. ####
  394. ####
  395. # ITS NOT WORKING STOP HERE
  396.  
  397. # Redrawwinodw
  398. def redrawwindow():
  399. window.fill((0,0,0))
  400.  
  401. bg_width = bg.get_width()
  402. bg_offset = bg_shift % bg_width
  403.  
  404. window.blit(bg, (-bg_offset, 0))
  405. window.blit(bg, (bg_width - bg_offset, 0))
  406.  
  407.  
  408. # Draw playerman
  409. playerman.draw()
  410.  
  411. # Draw enemy
  412. for enemy in enemys:
  413. enemy.draw()
  414.  
  415. #Draw Coin
  416. for Star in stars:
  417. Star.draw()
  418.  
  419. # Draw Enemy gun and playergun
  420.  
  421. for bullet in bullets:
  422. bullet.draw(window)
  423.  
  424. for egun in eguns:
  425. egun.draw(window)
  426.  
  427.  
  428.  
  429.  
  430. window.blit(text,textRect)
  431. window.blit(text2,textRect2)
  432. window.blit(text3,textRect3)
  433. # FPS Cnd Clock
  434. fps = (30)
  435. clock = pygame.time.Clock()
  436.  
  437. font = pygame.font.Font("freesansbold.ttf",30)
  438. score = 0
  439. text = font.render("Coins = "+str(score),True,(0,0,0))
  440. textRect = text.get_rect()
  441. textRect.center = ((600,40))
  442.  
  443. font = pygame.font.Font("freesansbold.ttf",30)
  444. Lives = 10
  445. text2 = font.render("Lives = "+str(Lives),True,(0,0,0))
  446. textRect2 = text.get_rect()
  447. textRect2.center = ((600,65))
  448.  
  449. font = pygame.font.Font("freesansbold.ttf",30)
  450. enemyd = 0
  451. text3 = font.render("Enemys Died = 20/ "+str(enemyd),True,(0,0,0))
  452. textRect3 = text.get_rect()
  453. textRect3.center = ((450,95))
  454.  
  455. # For Bullets List And Timer
  456. bullets = []
  457.  
  458. btimer = 0
  459.  
  460. # For Enemy Bullets And Timer
  461. eguns = []
  462.  
  463. etimer = 0
  464.  
  465. # Main Loop
  466. run = True
  467. while run:
  468. clock.tick(fps)
  469. for event in pygame.event.get():
  470. if event.type == pygame.QUIT:
  471. run = False
  472.  
  473.  
  474. for Star in stars:
  475. for one in range(len(stars)-1,-1,-1):
  476. if playerman.rect.colliderect(stars[one].rect):
  477. del stars[one]
  478. score += 1
  479. text = font.render("Coins = "+str(score),True,(0,0,0))
  480. textRect.center = ((600,40))
  481.  
  482. # enemy go bye bye when collide with player
  483. for enemy in enemys:
  484. for one in range(len(enemys)-1-1-1):
  485. if enemys[one].rect.colliderect(playerman.rect):
  486. del enemys[one]
  487. enemyd += 1
  488. text3 = font.render("Enemys Died = 20/ "+str(enemyd),True,(0,0,0))
  489. textRect3.center = ((450,95))
  490. Lives -= 1
  491. text2 = font.render("Lives = "+str(Lives),True,(0,0,0))
  492. textRect2.center = ((600,65))
  493. ebomb.play()
  494.  
  495.  
  496. for Enemys in enemys:
  497. if enemy.x < 0:
  498. enemy.x * playerman.x
  499.  
  500. for Star in stars:
  501. Star.x -= playerman.speed
  502.  
  503.  
  504. # Next Level
  505. if enemyd == 20:
  506. Won = True
  507. Wins()
  508.  
  509.  
  510.  
  511.  
  512.  
  513. # Timer for Bullets
  514. if btimer > 0:
  515. btimer += 1
  516. if btimer > 10:
  517. btimer = 0
  518.  
  519. # Timer for Enemy Bullets
  520. if etimer > 0:
  521. etimer += 1
  522. if etimer > 13:
  523. etimer = 0
  524.  
  525. # This Is Keys for bullet
  526. keys = pygame.key.get_pressed()
  527.  
  528. # This is bullets and when player press Spacebar they come
  529. for bullet in bullets:
  530. if bullet.x < 700 and bullet.x > 0:
  531. bullet.x += bullet.speed
  532. else:
  533. bullets.pop(bullets.index(bullet))
  534.  
  535. if keys[pygame.K_SPACE] and btimer == 0:
  536. if len(bullets) < 5:
  537. bullets.append(projectile(round(playerman.x+playerman.width//2),round(playerman.y + playerman.height-24),(0,0,0)))
  538. shootsound.play()
  539. btimer = 1
  540. # Allow's enemy to disapper when it touches the player bullets
  541. for Enemy in enemys:
  542. for bullet in bullets:
  543. for one in range(len(enemys)-1,-1,-1):
  544. if bullet.rect.colliderect(enemys[one].rect):
  545. del enemys[one]
  546. bullets.pop(bullets.index(bullet))
  547. enemyd += 1
  548. text3 = font.render("Enemys Died = 20/ "+str(enemyd),True,(0,0,0))
  549. textRect3.center = ((450,95))
  550. ebomb.play()
  551.  
  552. #A PART OF THE Died FUNCTION
  553. if Lives < 1:
  554. Dead = True
  555. Die()
  556.  
  557.  
  558.  
  559.  
  560. # Timer for Enemy Bullets
  561. for enemy in enemys:
  562. if enemy.etimer > 0:
  563. enemy.etimer += 1
  564. if enemy.etimer > 40:
  565. enemy.etimer = 0
  566.  
  567. # Allows enemy to shoot
  568. for egun in eguns:
  569. if egun.x < 700 and egun.x > 0:
  570. egun.x -= egun.speed
  571. else:
  572. eguns.pop(eguns.index(egun))
  573.  
  574. for Enemy in enemys:
  575. if Enemy.x < 700 and Enemy.etimer == 0:
  576. if len(eguns) < 15:
  577. eguns.append(enemybullets(round(Enemy.x+Enemy.width//2),round(Enemy.y + Enemy.height-24),(0,0,0)))
  578. Enemy.etimer = 1
  579.  
  580. # What make's the player lose live's when it touch the bullets for enenmy
  581. for egun in eguns[:]:
  582. if egun.rect.colliderect(playerman.rect):
  583. eguns.remove(egun)
  584. Lives -= 1
  585. text2 = font.render("Lives = "+str(Lives),True,(0,0,0))
  586. textRect2.center = ((600,65))
  587. pbomb.play()
  588.  
  589.  
  590.  
  591. # Makes enemy move
  592. for Enemy in enemys:
  593. Enemy.x -= Enemy.speed
  594.  
  595.  
  596.  
  597. # For The Background Shifting
  598. bg_shift += round(3/2)
  599.  
  600.  
  601.  
  602. # Keys For Playerman
  603. keys = pygame.key.get_pressed()
  604.  
  605. if keys[pygame.K_a] and playerman.x > playerman.speed:
  606. playerman.x -= playerman.speed
  607.  
  608. # ANOTHER PART OF PAUSE
  609. if keys[pygame.K_p]:
  610. pause = True
  611. paused()
  612.  
  613. if keys[pygame.K_m]:
  614. pygame.mixer.music.fadeout(1000)
  615.  
  616. if keys[pygame.K_n]:
  617. pygame.mixer.music.play(-1)
  618.  
  619.  
  620.  
  621.  
  622. if keys[pygame.K_d] and playerman.x < 260 - playerman.width - playerman.speed:
  623. playerman.x += playerman.speed
  624.  
  625.  
  626. if keys[pygame.K_w] and playerman.y > playerman.speed:
  627. playerman.y -= playerman.speed
  628.  
  629.  
  630. if keys[pygame.K_s] and playerman.y < 500 - playerman.height - playerman.speed:
  631. playerman.y += playerman.speed
  632.  
  633.  
  634.  
  635.  
  636.  
  637. # Update And Other Sutff
  638. redrawwindow()
  639. pygame.display.update()
  640. pygame.quit()
  641.  
  642. ####################################################################################################################################################################
  643. def main_loop2():
  644. global pause
  645. global Dead
  646. global Won
  647.  
  648. # Name Screen
  649. pygame.display.set_caption("Noobs first Game")
  650.  
  651. bg = pygame.image.load("skybg1.png")
  652. bg_shift = 0
  653.  
  654.  
  655. pygame.init()
  656.  
  657. # Build The Screen
  658. window = pygame.display.set_mode((700,500))
  659.  
  660. # Name Screen
  661. pygame.display.set_caption("Noobs first Game")
  662.  
  663. bg = pygame.image.load("skybg1.png")
  664. bg_shift = 0
  665.  
  666.  
  667. # Class Player
  668. class player:
  669. def __init__(self,x,y,width,height,color):
  670. self.x = x
  671. self.y = y
  672. self.width = width
  673. self.height = height
  674. self.speed = 6
  675. self.color = color
  676. self.rect = pygame.Rect(x,y,width,height)
  677. self.ss1 = pygame.image.load("heroplane1.png")
  678. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))
  679. def draw(self):
  680. self.rect.topleft=(self.x,self.y)
  681. pygame.draw.rect(window,self.color,self.rect)
  682.  
  683. player_rect = self.ss1.get_rect(center = self.rect.center)
  684. player_rect.centerx += -7
  685. player_rect.centery += -6
  686. window.blit(self.ss1,player_rect)
  687.  
  688. # Class Enemy
  689. class Enemy:
  690. def __init__(self,x,y,width,height,color,imagefile):
  691. self.x = x
  692. self.y = y
  693. self.width = width
  694. self.height = height
  695. self.speed = 4
  696. self.color = color
  697. self.rect = pygame.Rect(x,y,width,height)
  698. self.ss1 = pygame.image.load(imagefile)
  699. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))
  700. self.health = 10
  701. self.hitbox = (self.x + 17, self.y + 2, 31, 57)
  702. self.etimer = 0 # <---
  703.  
  704. def draw(self):
  705. self.rect.topleft = (self.x,self.y)
  706. pygame.draw.rect(window,self.color,self.rect)
  707. enemy_rect = self.ss1.get_rect(center = self.rect.center)
  708. enemy_rect.centerx += -4
  709. enemy_rect.centery += -6
  710. window.blit(self.ss1,enemy_rect)
  711. pygame.draw.rect(window, (255,0,0), (self.hitbox[0], self.hitbox[1] - 20, 80, 10))
  712. pygame.draw.rect(window, (0,255,0), (self.hitbox[0], self.hitbox[1] - 20, 80 - (5 * (10 - self.health)), 10))
  713. self.hitbox = (self.x + 17, self.y + 2, 31, 57)
  714.  
  715.  
  716.  
  717.  
  718. class enemy3:
  719. def __init__(self,x,y,width,height,color):
  720. self.x = x
  721. self.y = y
  722. self.width = width
  723. self.height = height
  724. self.color = color
  725. self.rect = pygame.Rect(x,y,width,height)
  726. self.ss1 = pygame.image.load("enemyplane3.png")
  727. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))
  728. def draw(self):
  729. self.rect.topleft = (self.x,self.y)
  730. pygame.draw.rect(window,self.color,self.rect)
  731.  
  732. enemy3_rect = self.ss1.get_rect(center = self.rect.center)
  733. enemy3_rect.centerx += -4
  734. enemy3_rect.centery += -6
  735. window.blit(self.ss1,enemy3_rect)
  736.  
  737.  
  738. # Class Enemy3
  739. class Star:
  740. def __init__(self,x,y,width,height,color):
  741. self.x = x
  742. self.y = y
  743. self.width = width
  744. self.height = height
  745. self.color = color
  746. self.rect = pygame.Rect(x,y,width,height)
  747. self.ss1 = pygame.image.load("skycoin.png")
  748. self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//12,self.ss1.get_height()//12))
  749. def draw(self):
  750. self.rect.topleft = (self.x,self.y)
  751. pygame.draw.rect(window,self.color,self.rect)
  752.  
  753. enemy3_rect = self.ss1.get_rect(center = self.rect.center)
  754. enemy3_rect.centerx += -4
  755. enemy3_rect.centery += -4
  756. window.blit(self.ss1,enemy3_rect)
  757.  
  758.  
  759.  
  760. class projectile(object):
  761. def __init__(self, x, y,color):
  762. self.x = x
  763. self.y = y
  764. self.slash = pygame.image.load("herogun1.png")
  765. self.slash = pygame.transform.scale(self.slash,(self.slash.get_width()//11,self.slash.get_height()//11))
  766. self.rect = self.slash.get_rect()
  767. self.rect.topleft = ( self.x, self.y )
  768. self.speed = 10
  769. self.color = color
  770.  
  771. def draw(self, window):
  772. self.rect.topleft = ( self.x,self.y )
  773. window.blit(self.slash, self.rect)
  774.  
  775. class enemybullets(object):
  776. def __init__(self, x, y,color):
  777. self.x = x
  778. self.y = y
  779. self.slash = pygame.image.load("enemygun1.png")
  780. self.slash = pygame.transform.scale(self.slash,(self.slash.get_width()//11,self.slash.get_height()//11))
  781. self.rect = self.slash.get_rect()
  782. self.rect.topleft = ( self.x, self.y )
  783. self.speed = 10
  784. self.color = color
  785.  
  786. def draw(self, window):
  787. self.rect.topleft = ( self.x,self.y )
  788. window.blit(self.slash, self.rect)
  789.  
  790.  
  791. class Power:
  792. def __init__(self,x,y,width,height,color):
  793. self.x = x
  794. self.y = y
  795. self.width = width
  796. self.height = height
  797. self.color = color
  798. self.speed = 4
  799. self.rect = pygame.Rect(x,y,width,height)
  800. def draw(self):
  801. self.topleft = (self.x,self.y)
  802. pygame.draw.rect(window,self.color,self.rect)
  803.  
  804.  
  805.  
  806.  
  807.  
  808. # Color
  809. white = (255,255,255)
  810.  
  811. black = (0,0,0)
  812. # Draw Player
  813. playerman = player(5,250,90,40,white)
  814.  
  815. # For Enemy
  816. enemy1 = Enemy(400, 100, 90, 40, white, "enemyplane2.png")
  817. enemy4 = Enemy(400, 400, 90, 40, white, "enemyplane2.png")
  818.  
  819. # For Enemy2
  820. enemy21 = Enemy(400,300,90,40,white,"enemyplane2.png")
  821. enemy22 = Enemy(400,100,90,40,white,"enemyplane2.png")
  822.  
  823. # For Coins
  824.  
  825. star1 = Star(300,250,45,45,white)
  826. star2 = Star(300,350,45,45,white)
  827.  
  828. # For Enemy3
  829. ememy31 = enemy3(400,400,90,40,white)
  830.  
  831. # For Enemy 2
  832. enemy2s = [enemy21,enemy22]
  833. # For Enemy
  834. enemys = [enemy1,enemy4]
  835.  
  836. #For Coin
  837. stars = [star1,star2]
  838.  
  839. # enemys
  840. enemyGroup = pygame.sprite.Group()
  841. level1 = [
  842. " 1 c 1 c c c c ",
  843. " 1 1 1 c 1 c 1 1 1 1 1 1 1 c c c c c ",
  844. " 1 c 1 1 c 1 1 c 1 c c c ",
  845. " 1 c 1 c 1 1 1 c1 c 1 1 1 c 1 c 1 1 c c ",
  846. " c 1 1 c 1 c1 1 1 1 1 c1 1 c 1 1 c c c c ",
  847. " c 1 c1 1 1 c c 1 c 1 c c c ",
  848. " 1 1 c 1 1 c 1 c1 1 c 1 1 cc 1 c 1 1 c 1 c c c c c",]
  849.  
  850.  
  851. for iy, row in enumerate(level1):
  852. for ix, col in enumerate(row):
  853. if col == "1":
  854. new_enemy = Enemy(ix*70,iy*70,90,40,(255,255,255),"enemyplane2.png")
  855. enemys.append(new_enemy)
  856.  
  857. for iy, row in enumerate(level1):
  858. for ix, col in enumerate(row):
  859. if col == "c":
  860. new_stars = Star(ix*70,iy*70,45,45,(255,255,255))
  861. stars.append(new_stars)
  862.  
  863.  
  864.  
  865.  
  866.  
  867. Dead = False
  868.  
  869. def quitgame():
  870. pygame.quit()
  871.  
  872. def undie():
  873. global Dead
  874. Dead = False
  875.  
  876. def Die():
  877.  
  878. largeText = pygame.font.SysFont("comicsansms",115)
  879. TextSurf, TextRect = text_objects("You Died!", largeText)
  880. TextRect.center = ((700/2),(500/2))
  881. window.blit(TextSurf, TextRect)
  882.  
  883. while Dead:
  884. for event in pygame.event.get():
  885. if event.type == pygame.QUIT:
  886. pygame.quit()
  887. quit()
  888.  
  889. button("Fly!",50,350,200,100,green,darkgreen,main_loop)
  890. button("Land!",450,350,200,100,red,darkred,quitgame)
  891.  
  892.  
  893. pygame.display.update()
  894. clock.tick(fps)
  895.  
  896. ############
  897.  
  898. pause = False
  899.  
  900.  
  901. def quitgame():
  902. pygame.quit()
  903.  
  904. def unpause():
  905. global pause
  906. pause = False
  907.  
  908. def paused():
  909.  
  910.  
  911.  
  912. largeText = pygame.font.SysFont("comicsansms",115)
  913. TextSurf, TextRect = text_objects("Paused", largeText)
  914. TextRect.center = ((700/2),(500/2))
  915. window.blit(TextSurf, TextRect)
  916.  
  917.  
  918. while pause:
  919. for event in pygame.event.get():
  920. if event.type == pygame.QUIT:
  921. pygame.quit()
  922. quit()
  923.  
  924.  
  925.  
  926. button("Fly",50,350,200,100,green,darkgreen,unpause)
  927. button("Land",450,350,200,100,red,darkred,quitgame)
  928.  
  929. pygame.display.update()
  930. clock.tick(15)
  931.  
  932.  
  933. ########
  934.  
  935. Won = False
  936.  
  937. def quitgame():
  938. pygame.quit()
  939.  
  940. def Next():
  941. global Won
  942. Won = False
  943.  
  944. def Wins():
  945.  
  946. largeText = pygame.font.SysFont("comicsansms",115)
  947. TextSurf, TextRect = text_objects("YOU WON!", largeText)
  948. TextRect.center = ((700/2),(500/2))
  949. window.blit(TextSurf, TextRect)
  950.  
  951. while Won:
  952. for event in pygame.event.get():
  953. if event.type == pygame.QUIT:
  954. pygame.quit()
  955. quit()
  956.  
  957. button("Next!",50,350,200,100,green,darkgreen,main_loop)
  958. button("Land!",450,350,200,100,red,darkred,quitgame)
  959.  
  960.  
  961.  
  962.  
  963. pygame.display.update()
  964. clock.tick(fps)
  965.  
  966. ####
  967. ####
  968. # ITS NOT WORKING STOP HERE
  969.  
  970. # Redrawwinodw
  971. def redrawwindow():
  972. window.fill((0,0,0))
  973.  
  974. bg_width = bg.get_width()
  975. bg_offset = bg_shift % bg_width
  976.  
  977. window.blit(bg, (-bg_offset, 0))
  978. window.blit(bg, (bg_width - bg_offset, 0))
  979.  
  980.  
  981. # Draw playerman
  982. playerman.draw()
  983.  
  984. # Draw enemy
  985. for enemy in enemys:
  986. enemy.draw()
  987.  
  988. # Draw enemy2
  989. enemy21.draw()
  990.  
  991. # Draw enemy3
  992. ememy31.draw()
  993.  
  994. #Draw Coin
  995. for Star in stars:
  996. Star.draw()
  997.  
  998. # Draw Enemy gun and playergun
  999.  
  1000. for bullet in bullets:
  1001. bullet.draw(window)
  1002.  
  1003. for egun in eguns:
  1004. egun.draw(window)
  1005.  
  1006.  
  1007.  
  1008.  
  1009. window.blit(text,textRect)
  1010. window.blit(text2,textRect2)
  1011. window.blit(text3,textRect3)
  1012. # FPS Cnd Clock
  1013. fps = (30)
  1014. clock = pygame.time.Clock()
  1015.  
  1016. font = pygame.font.Font("freesansbold.ttf",30)
  1017. score = 0
  1018. text = font.render("Coins = "+str(score),True,(0,0,0))
  1019. textRect = text.get_rect()
  1020. textRect.center = ((600,40))
  1021.  
  1022. font = pygame.font.Font("freesansbold.ttf",30)
  1023. Lives = 10
  1024. text2 = font.render("Lives = "+str(Lives),True,(0,0,0))
  1025. textRect2 = text.get_rect()
  1026. textRect2.center = ((600,65))
  1027.  
  1028. font = pygame.font.Font("freesansbold.ttf",30)
  1029. enemyd = 0
  1030. text3 = font.render("Enemys Died = 15/ "+str(enemyd),True,(0,0,0))
  1031. textRect3 = text.get_rect()
  1032. textRect3.center = ((450,95))
  1033.  
  1034. # For Bullets List And Timer
  1035. bullets = []
  1036.  
  1037. btimer = 0
  1038.  
  1039. # For Enemy Bullets And Timer
  1040. eguns = []
  1041.  
  1042. etimer = 0
  1043.  
  1044. # Main Loop
  1045. run = True
  1046. while run:
  1047. clock.tick(fps)
  1048. for event in pygame.event.get():
  1049. if event.type == pygame.QUIT:
  1050. run = False
  1051.  
  1052.  
  1053. for Star in stars:
  1054. for one in range(len(stars)-1,-1,-1):
  1055. if playerman.rect.colliderect(stars[one].rect):
  1056. del stars[one]
  1057. score += 1
  1058. text = font.render("Coins = "+str(score),True,(0,0,0))
  1059. textRect.center = ((600,40))
  1060.  
  1061. # enemy go bye bye when collide with player
  1062. for enemy in enemys:
  1063. for one in range(len(enemys)-1-1-1):
  1064. if enemys[one].rect.colliderect(playerman.rect):
  1065. del enemys[one]
  1066. enemyd += 1
  1067. text3 = font.render("Enemys Died = 20/ "+str(enemyd),True,(0,0,0))
  1068. textRect3.center = ((450,95))
  1069. Lives -= 1
  1070. text2 = font.render("Lives = "+str(Lives),True,(0,0,0))
  1071. textRect2.center = ((600,65))
  1072. ebomb.play()
  1073.  
  1074.  
  1075. for Enemys in enemys:
  1076. if enemy.x < 0:
  1077. enemy.x * playerman.x
  1078.  
  1079. for Star in stars:
  1080. Star.x -= playerman.speed
  1081.  
  1082. ememy31.x -= playerman.speed
  1083.  
  1084.  
  1085.  
  1086. # Next Level
  1087. if enemyd == 20:
  1088. Won = True
  1089. Wins()
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095. # Timer for Bullets
  1096. if btimer > 0:
  1097. btimer += 1
  1098. if btimer > 10:
  1099. btimer = 0
  1100.  
  1101. # Timer for Enemy Bullets
  1102. if etimer > 0:
  1103. etimer += 1
  1104. if etimer > 13:
  1105. etimer = 0
  1106.  
  1107. # This Is Keys for bullet
  1108. keys = pygame.key.get_pressed()
  1109.  
  1110. # This is bullets and when player press Spacebar they come
  1111. for bullet in bullets:
  1112. if bullet.x < 700 and bullet.x > 0:
  1113. bullet.x += bullet.speed
  1114. else:
  1115. bullets.pop(bullets.index(bullet))
  1116.  
  1117. if keys[pygame.K_SPACE] and btimer == 0:
  1118. if len(bullets) < 5:
  1119. bullets.append(projectile(round(playerman.x+playerman.width//2),round(playerman.y + playerman.height-24),(0,0,0)))
  1120. shootsound.play()
  1121. btimer = 1
  1122. # Allow's enemy to disapper when it touches the player bullets
  1123. for Enemy in enemys:
  1124. for bullet in bullets:
  1125. for one in range(len(enemys)-1,-1,-1):
  1126. if bullet.rect.colliderect(enemys[one].rect):
  1127. bullets.pop(bullets.index(bullet))
  1128. if Enemy.health > -10:
  1129. Enemy.health -= 5
  1130.  
  1131. else:
  1132. del enemys[one]
  1133. enemyd += 1
  1134. text3 = font.render("Enemys Died = 15/ "+str(enemyd),True,(0,0,0))
  1135. textRect3.center = ((450,95))
  1136. ebomb.play()
  1137.  
  1138. #A PART OF THE Died FUNCTION
  1139. if Lives < 1:
  1140. Dead = True
  1141. Die()
  1142.  
  1143.  
  1144.  
  1145.  
  1146. # Timer for Enemy Bullets
  1147. for enemy in enemys:
  1148. if enemy.etimer > 0:
  1149. enemy.etimer += 1
  1150. if enemy.etimer > 40:
  1151. enemy.etimer = 0
  1152.  
  1153. # Allows enemy to shoot
  1154. for egun in eguns:
  1155. if egun.x < 700 and egun.x > 0:
  1156. egun.x -= egun.speed
  1157. else:
  1158. eguns.pop(eguns.index(egun))
  1159.  
  1160. for Enemy in enemys:
  1161. if Enemy.x < 700 and Enemy.etimer == 0:
  1162. if len(eguns) < 15:
  1163. eguns.append(enemybullets(round(Enemy.x+Enemy.width//2),round(Enemy.y + Enemy.height-24),(0,0,0)))
  1164. Enemy.etimer = 1
  1165.  
  1166. # What make's the player lose live's when it touch the bullets for enenmy
  1167. for egun in eguns[:]:
  1168. if egun.rect.colliderect(playerman.rect):
  1169. eguns.remove(egun)
  1170. Lives -= 1
  1171. text2 = font.render("Lives = "+str(Lives),True,(0,0,0))
  1172. textRect2.center = ((600,65))
  1173. pbomb.play()
  1174.  
  1175.  
  1176.  
  1177. # Makes enemy move
  1178. for Enemy in enemys:
  1179. Enemy.x -= Enemy.speed
  1180.  
  1181.  
  1182.  
  1183. # For The Background Shifting
  1184. bg_shift += round(3/2)
  1185.  
  1186.  
  1187.  
  1188. # Keys For Playerman
  1189. keys = pygame.key.get_pressed()
  1190.  
  1191. if keys[pygame.K_a] and playerman.x > playerman.speed:
  1192. playerman.x -= playerman.speed
  1193.  
  1194. # ANOTHER PART OF PAUSE
  1195. if keys[pygame.K_p]:
  1196. pause = True
  1197. paused()
  1198.  
  1199. if keys[pygame.K_m]:
  1200. pygame.mixer.music.fadeout(1000)
  1201.  
  1202. if keys[pygame.K_n]:
  1203. pygame.mixer.music.play(-1)
  1204. Won = True
  1205. Wins()
  1206.  
  1207.  
  1208.  
  1209.  
  1210. if keys[pygame.K_d] and playerman.x < 260 - playerman.width - playerman.speed:
  1211. playerman.x += playerman.speed
  1212.  
  1213.  
  1214. if keys[pygame.K_w] and playerman.y > playerman.speed:
  1215. playerman.y -= playerman.speed
  1216.  
  1217.  
  1218. if keys[pygame.K_s] and playerman.y < 500 - playerman.height - playerman.speed:
  1219. playerman.y += playerman.speed
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225. # Update And Other Sutff
  1226. redrawwindow()
  1227. pygame.display.update()
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Next()
  1235. undie()
  1236. unpause()
  1237. game_intro()
  1238. main_loop()
  1239.  
  1240.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement