Advertisement
Guest User

Untitled

a guest
May 13th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. import pygame, math, random, sys, time
  2. pygame.mixer.init(44100, -16, 2, 1024)
  3. pygame.init()
  4. screen = pygame.display.set_mode([800, 600])
  5. screen.fill([0, 0, 0])
  6.  
  7. sound_fire = pygame.mixer.Sound('laser.ogg')
  8. #bang = pygame.mixer.Sound('explosion.ogg')
  9. #song = pygame.mixer.music.load('whiteandnerdy.mp3')
  10.  
  11. ship = pygame.image.load('spaceship.png')
  12. ship_frame = ship.get_rect()
  13. alien = pygame.image.load('alien.png')
  14. alien_frame = alien.get_rect()
  15. bullet = pygame.image.load('bullet.png')
  16. bullet_frame = bullet.get_rect()
  17.  
  18. #pygame.mixer.music.play()
  19.  
  20.  
  21.  
  22. ship_x, ship_y, ship_step = 400, 500, 2
  23. place_score = (5, 5)
  24. bullet_step = 1
  25. badguy_delay = 500
  26.  
  27. bullet_y = ship_y-20
  28. epoint = random.randint(200, 400)
  29. badguy_x = epoint
  30. badguy_y = 0
  31.  
  32.  
  33. running = True
  34.  
  35. #moving the ship
  36. delay = 1
  37. interval = 1
  38. pygame.key.set_repeat(delay, interval)
  39. shot=False
  40. monster = True
  41.  
  42. class Bullet(object):
  43. def __init__(self, left, top):
  44. self.image = pygame.image.load("bullet.png")
  45. self.rect = self.image.get_rect(topleft = (left, top))
  46.  
  47. def move(self):
  48. self.rect.centery -= 1
  49.  
  50. def draw_to_screen(self, surface):
  51. screen.blit(self.image, self.rect)
  52.  
  53. """def bulletshot():
  54. global bullet_x, bullet_y, shot
  55. bullet_x = ship_x + 26
  56. pygame.draw.rect(screen, [0, 0, 0], [bullet_x, bullet_y, 30, 25], 0)
  57. bullet_y=bullet_y - 1
  58. screen.blit(bullet, (bullet_x, bullet_y))
  59. if bullet_y < -10:
  60. pygame.draw.rect(screen, [0, 0, 0], [bullet_x, bullet_y, 30, 25], 0)
  61. shot = False"""
  62.  
  63. def badguy():
  64. midpoint = random.randint(200, 400)
  65. alaius = random.randint(100, 300)
  66. global monster, badguy_x, badguy_y
  67. pygame.draw.rect(screen, [0, 0, 0], [badguy_x, badguy_y, 42, 42], 0)
  68. badguy_y+=0.1
  69. badguy_x=(alaius*(math.sin(0.1*badguy_y))+ midpoint)
  70. screen.blit(alien, (badguy_x, badguy_y))
  71. if badguy_y > 458:
  72. pygame.draw.rect(screen, [0, 0, 0], [badguy_x, badguy_y, 42, 42], 0)
  73. monster = False
  74. del badguy_x, badguy_y
  75.  
  76. #def gameover():
  77.  
  78. bullet = Bullet(ship_x + 26, ship_y - 20)
  79.  
  80. while running:
  81. pygame.draw.line(screen, [0, 0, 205], (0, 500), (800, 500), 1)
  82. screen.blit(ship, (ship_x, ship_y))
  83. for i in pygame.event.get():
  84. if i.type == pygame.QUIT:
  85. running = False
  86. if i.type == pygame.KEYDOWN:
  87. if i.key == pygame.K_LEFT:
  88. ship_x = ship_x - ship_step
  89. elif i.key == pygame.K_RIGHT:
  90. ship_x = ship_x + ship_step
  91. elif i.key == pygame.K_SPACE:
  92. shot = True
  93. sound_fire.play()
  94. if i.type == pygame.USEREVENT:
  95. monster = True
  96. pygame.time.set_time(pygame.USEREVENT, 0)
  97. if ship_x<-20:
  98. ship_x=-20
  99. if ship_x>750:
  100. ship_x=750
  101. if shot:
  102. bullet.move()
  103. bullet.draw_to_screen(screen)
  104. if monster:
  105. badguy()
  106. if not monster:
  107. pygame.time.set_timer(pygame.USEREVENT, 1000)
  108. pygame.display.flip()
  109. pygame.time.delay(1)
  110.  
  111.  
  112.  
  113. pygame.quit ()
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126. #Kavas on teha veel skoorisüsteem
  127. #vastased peaks tulema alla iga kord erineva y=arcsin(x) funktsiooni kaudu
  128. #mida kõrgem skoor, seda kiiremini tulevad
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement