Exemplo n.º 1
0
 def _create_space(self):
     """Create the space with stars."""
     # The star need to be stole in random.
     stars = Stars(self)
     numbers_stars = 20
     for star_number in range(numbers_stars):
         stars = Stars(self)
         self.stars.add(stars)
Exemplo n.º 2
0
    def __init__(self):
        """Creates all game objects needed, loads resources, initializes
        pygame library and sound mixer, sets display mode, etc."""
        self.state = STATE_TITLE
        pygame.mixer.pre_init(buffer=SOUND_BUFFER)
        pygame.init()
        self.clock = Clock()
        self.scr = pygame.display.set_mode(SCREEN_SIZE, VID_MODE_FLAGS)
        pygame.display.set_caption(WINDOW_CAPTION)
        pygame.mouse.set_visible(False)
        LoadingScreen(self.scr).draw()
        sound_box.init()

        self.level = GameLevel()
        self.stats = GameStats(self.scr)
        self.view_pt = ViewPoint(self.scr)
        self.stars = Stars(self.scr, self.view_pt)
        self.track = Track(self.scr, self.view_pt)
        self.explosions = Explosions(self.scr, self.view_pt)
        self.ship = Ship(self.scr, self.view_pt, self.explosions)
        self.asteroids = Asteroids(self.scr, self.view_pt, self.explosions,
                                   self.track)
        self.title_screen = TitleScreen(self.scr, self.view_pt, self.stars)
        self.level_start_screen = LevelStartScreen(self.scr)
        self.level_complete_effect = LevelCompleteEffect(self.scr)
        self.game_over_effect = GameOverEffect(self.scr)
        self.pause_screen = PauseScreen(self.scr)
        self.ending_screen = EndingScreen(self.scr)

        self._init_title()
Exemplo n.º 3
0
def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Pick the stars")

    people = People(ai_settings, screen)
    stars = Stars(ai_settings, screen)
    alien = Alien(ai_settings, screen)
    bullets = Group()
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    play_button = Button(ai_settings, screen, "Play")

    while True:
        gf.check_events(ai_settings, stats, sb, people, alien, bullets,
                        play_button)
        bullets.update()
        for bullet in bullets.copy():
            if bullet.rect.bottom >= ai_settings.screen_height:
                bullets.remove(bullet)
        if stats.game_active:
            people.update()
            gf.update_alien(alien)
            gf.update_stars(ai_settings, stats, sb, people, stars)
            if alien.rect.x % 120 == 0:
                gf.update_bullet(ai_settings, stats, screen, people, alien,
                                 bullets)

        gf.update_screen(ai_settings, stats, sb, screen, people, stars, alien,
                         bullets, play_button)
Exemplo n.º 4
0
    def _create_stars(self, star_number, star_row_number):
        star = Stars(self)
        random_range = randint(-10, 10)
        random_number = randint(1, 10)

        # star_width, star_height = star.rect.size
        star.rect.x = random_range + random_number * star.rect.width * star_number
        star.rect.y = random_range + random_number * star.rect.height * star_row_number
        self.stars.add(star)
Exemplo n.º 5
0
 def __init__(self, size):
     self.size = size
     pygame.font.init()
     self.score = 0
     self.star_background = Stars(self.size)
     self.font = pygame.font.Font("res/font.ttf", 28)
     self.screen = pygame.display.set_mode(size)
     if not self.gameover:
         self.new_game()
     self.loop()
Exemplo n.º 6
0
def enter():
    global background
    background = BackGround()

    global stars
    stars = Stars(400, get_canvas_height() / 2)

    global game_logo
    game_logo = GameLogo()

    global font
    font = load_font('Font/LCD_Solid.ttf', 24)

    global press_sound
    press_sound = load_wav('Sound/Select.wav')
    press_sound.set_volume(64)
Exemplo n.º 7
0
    def _create_starry_sky(self):
        """Instantiate a sky full of stars for the game's background."""

        # Make a star.
        star = Stars(self)
        star_width, star_height = star.rect.size
        available_space_stars_x = self.settings.screen_width - (star_width)
        number_stars_x = available_space_stars_x // (star_width)

        # Determine the number of rows of stars that fit on the screen.
        available_space_stars_y = (self.settings.screen_height - (star_height))
        star_number_rows = available_space_stars_y // (star_height)

        # Create the full sky of stars.
        for star_row_number in range(star_number_rows):
            for star_number in range(number_stars_x):
                self._create_stars(star_number, star_row_number)
Exemplo n.º 8
0
def enter():
    background = BackGround()
    gameworld.add_object(background, 0)

    ui = UI_Manager()
    gameworld.register_ui(ui)

    global stars
    stars = Stars(300, get_canvas_height() / 2)
    gameworld.add_object(stars, 0)

    global font
    font = load_font('Font/LCD_Solid.ttf', 24)

    global sound
    sound = load_wav("Sound/StageEnter.wav")
    sound.play()
Exemplo n.º 9
0
def enter():
    global sound
    sound = load_music('Sound/Credits.wav')
    sound.repeat_play()

    global new_records
    new_records = []

    global score
    ui = gameworld.get_ui()
    score = ui.get_score()
    save_score()
    get_current_rank()

    gameworld.clear()

    global background
    background = BackGround()

    global stars
    stars = Stars(400, get_canvas_height() / 2)
Exemplo n.º 10
0
    def __init__ (self, mainMenuSound, soundMouse, soundSpace, soundGun, soundClick, takeSomething, soundCoin, soundSpaceShip):
        self.spaceShip = SpaceShip(width/2, height/2+150, 150, 150, 5, soundGun, takeSomething, soundCoin)
        self.enemy = Enemy(random(0+75/2, width-75/2), -300, 75, 75, 3)
        self.spaceShip.setEnemy(self.enemy)
        self.objects = Objects(soundGun)
        self.spaceShip.setSecondWeapon(self.objects.secondWeapon)
        self.spaceShip.setSecondWeaponTimer(self.objects.secondWeaponTimer)
        self.dropedObjects = DropedObjects(random(0+25, width-25), -2400, 50, 50, 2, random(0+25, width-25))
        self.spaceShip.setDropedSecondWeapon(self.dropedObjects.dropedSecondWeapon)
        self.stars = Stars()
        self.gameState = False
        self.buttonToStartGame = StartGame(width/2, height/2, 100, 50)

        self.mainMenuSound = mainMenuSound
        self.mainMenuSound.loop()

        self.soundMouse = soundMouse

        self.soundSpace = soundSpace

        self.soundClick = soundClick

        self.soundSpaceShip = soundSpaceShip
Exemplo n.º 11
0
def run_game():
    pygame.init()

    numberOfLives = 3
    clock = pygame.time.Clock()
    ai_settings = Settings()
    screen_height = ai_settings.screen_height
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height),
        pygame.FULLSCREEN | pygame.DOUBLEBUF | pygame.HWSURFACE)
    screen.fill(ai_settings.bg_color,
                (0, 0, ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    ship = Ship(ai_settings, screen)
    stars = Stars(ai_settings, screen)
    bullet = Bullet(ai_settings, screen, ship)
    starIndex = 0
    star_list = [Stars(ai_settings, screen) for i in range(200)]
    alienFrequency = 0
    alienIndex = 0
    aliens = [Alien(ai_settings, screen) for i in range(200)]
    bullets = [bullet]
    reload = Timer(ai_settings, screen)
    alien_odds = ai_settings.alien_frequency
    explosions = []
    refreshFPS = 10
    avgFPS = 0
    delay = 0
    pygame.mixer.music.load('Assets/Sounds/explosion.mp3')
    myfont = pygame.font.SysFont("monospace", 10)
    livesfont = pygame.font.SysFont("monospace", 30)
    gameOver = pygame.font.SysFont("monospace", 60)
    UI_color = (100, 100, 110)
    pause = 0
    paused = False
    gameOverMessage = ""
    while True:
        gf.update_screen(ai_settings, screen, ship, star_list, bullets, aliens,
                         explosions, reload, delay)
        alienFrequency = int(pygame.time.get_ticks() / 1000)
        clock.tick()
        delay = clock.get_time()
        gf.check_events(ai_settings, screen, ship, bullets, reload)
        if pause <= 0 and paused:
            paused = False
            numberOfLives = 3
            ship.reset()
            gameOverMessage = ""
            screen.fill(ai_settings.bg_color, (700, 450, 600, 200))
            alienFrequency = 0

        else:
            pause -= delay

        if paused == False:
            oddsStar = randint(0, 10)
            oddsAlien = randint(0, alienFrequency)

        for alien in aliens:
            if pygame.sprite.collide_rect(ship, alien):
                alien.erase()
                alien.reset()
                pygame.mixer.music.play(0)
                explosions.append(Explosion(ship))
                numberOfLives -= 1
                if numberOfLives == 0:
                    ship.erase()
                    ship.centerX[0] = -10000
                    gameOverMessage = "GAME OVER!!!"
                    for alien in aliens:
                        explosions.append(Explosion(alien))
                        alien.erase()
                        alien.reset()
                        pause = 3000
                        paused = True

        for alien in aliens:
            for bullet in bullets:
                if alien.rect.collidepoint(bullet.rect.x, bullet.rect.y):
                    pygame.mixer.music.play(0)
                    explosions.append(Explosion(alien))
                    bullets.remove(bullet)
                    alien.erase()
                    alien.reset()

        reload.update(delay)
        if oddsStar == 10:
            star_list[starIndex % 200].activate()
            starIndex += 1
        if oddsAlien >= 100:
            aliens[alienIndex % 200].activate()
            alienIndex += 1
        if bullets:
            if bullets[0].y < 0:
                bullets[0].erase()
                bullets.pop(0)

        screen.fill(UI_color, (0, 0, 100, 100))
        label = myfont.render(str(int(clock.get_fps())), 1, (255, 255, 0))
        lives = myfont.render("LIVES REMAINING :", 1, (255, 255, 0))
        remaining = livesfont.render(str(numberOfLives), 1, (255, 255, 0))
        gg = gameOver.render(gameOverMessage, 1, (255, 255, 0))
        screen.blit(label, (0, 0))
        screen.blit(lives, (0, 30))
        screen.blit(remaining, (20, 45))
        screen.blit(gg, (700, 450))
        pygame.display.flip()
Exemplo n.º 12
0
                if event.key == K_ESCAPE:
                    self.gameEnd = True

    def gameLoop(self):
        self.getScreen()
        contador = 0
        while self.gameEnd == False:

            if contador > 20:
                self.controllerAnimation = True
            if contador >= 20 and contador < 40:
                self.controllerAnimation = False
            if contador > 40:
                contador = 0
            contador += 1

            print(contador)
            self.getClock()
            self.input(player)
            self.update()
            self.render(stars, player)


gamePlay = GamePlay()
gamePlay.makeMatrix()
player = Player(gamePlay.getScreenSize(),
                gamePlay.getScreenSize()[0] * 0.5,
                gamePlay.getScreenSize()[1] * 0.95, 100)
stars = Stars(400, gamePlay.getScreenSize())
gamePlay.gameLoop()