Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame, math, random, sys, time
- pygame.mixer.init(44100, -16, 2, 1024)
- pygame.init()
- screen = pygame.display.set_mode([800, 600])
- screen.fill([0, 0, 0])
- sound_fire = pygame.mixer.Sound('laser.ogg')
- #bang = pygame.mixer.Sound('explosion.ogg')
- #song = pygame.mixer.music.load('whiteandnerdy.mp3')
- ship = pygame.image.load('spaceship.png')
- ship_frame = ship.get_rect()
- alien = pygame.image.load('alien.png')
- alien_frame = alien.get_rect()
- bullet = pygame.image.load('bullet.png')
- bullet_frame = bullet.get_rect()
- #pygame.mixer.music.play()
- ship_x, ship_y, ship_step = 400, 500, 2
- place_score = (5, 5)
- bullet_step = 1
- badguy_delay = 500
- bullet_y = ship_y-20
- epoint = random.randint(200, 400)
- badguy_x = epoint
- badguy_y = 0
- running = True
- #moving the ship
- delay = 1
- interval = 1
- pygame.key.set_repeat(delay, interval)
- shot=False
- monster = True
- class Bullet(object):
- def __init__(self, left, top):
- self.image = pygame.image.load("bullet.png")
- self.rect = self.image.get_rect(topleft = (left, top))
- def move(self):
- self.rect.centery -= 1
- def draw_to_screen(self, surface):
- screen.blit(self.image, self.rect)
- """def bulletshot():
- global bullet_x, bullet_y, shot
- bullet_x = ship_x + 26
- pygame.draw.rect(screen, [0, 0, 0], [bullet_x, bullet_y, 30, 25], 0)
- bullet_y=bullet_y - 1
- screen.blit(bullet, (bullet_x, bullet_y))
- if bullet_y < -10:
- pygame.draw.rect(screen, [0, 0, 0], [bullet_x, bullet_y, 30, 25], 0)
- shot = False"""
- def badguy():
- midpoint = random.randint(200, 400)
- alaius = random.randint(100, 300)
- global monster, badguy_x, badguy_y
- pygame.draw.rect(screen, [0, 0, 0], [badguy_x, badguy_y, 42, 42], 0)
- badguy_y+=0.1
- badguy_x=(alaius*(math.sin(0.1*badguy_y))+ midpoint)
- screen.blit(alien, (badguy_x, badguy_y))
- if badguy_y > 458:
- pygame.draw.rect(screen, [0, 0, 0], [badguy_x, badguy_y, 42, 42], 0)
- monster = False
- del badguy_x, badguy_y
- #def gameover():
- bullet = Bullet(ship_x + 26, ship_y - 20)
- while running:
- pygame.draw.line(screen, [0, 0, 205], (0, 500), (800, 500), 1)
- screen.blit(ship, (ship_x, ship_y))
- for i in pygame.event.get():
- if i.type == pygame.QUIT:
- running = False
- if i.type == pygame.KEYDOWN:
- if i.key == pygame.K_LEFT:
- ship_x = ship_x - ship_step
- elif i.key == pygame.K_RIGHT:
- ship_x = ship_x + ship_step
- elif i.key == pygame.K_SPACE:
- shot = True
- sound_fire.play()
- if i.type == pygame.USEREVENT:
- monster = True
- pygame.time.set_time(pygame.USEREVENT, 0)
- if ship_x<-20:
- ship_x=-20
- if ship_x>750:
- ship_x=750
- if shot:
- bullet.move()
- bullet.draw_to_screen(screen)
- if monster:
- badguy()
- if not monster:
- pygame.time.set_timer(pygame.USEREVENT, 1000)
- pygame.display.flip()
- pygame.time.delay(1)
- pygame.quit ()
- #Kavas on teha veel skoorisüsteem
- #vastased peaks tulema alla iga kord erineva y=arcsin(x) funktsiooni kaudu
- #mida kõrgem skoor, seda kiiremini tulevad
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement