Beispiel #1
0
def run_game():
	# Initialize game and create a screen object.
	pygame.init()
	
	ai_settings = Settings()

	screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
	
	pygame.display.set_caption("Alien Invasion")
	#Make a ship
	ship = Ship(ai_settings,screen)

	#Make a group to store bullets in (similar to lists)
	bullets = Group()

	#Make a group of Aliens
	aliens = Group()


	#Create a fleet of aliens
	gf.createFleet(ai_settings, screen, ship, aliens)

	# Start the main loop for the game.
	while True:
		# Watch for keyboard and mouse events.
		gf.checkEvents(ai_settings, screen, ship, bullets)
		ship.update()
		gf.updateBullets(bullets)
		gf.updateAliens(ai_settings, aliens)
		gf.updateScreen(ai_settings, screen, ship, aliens, bullets)
def runGame():
    pygame.init()
    aiSettings = Settings()
    screen = pygame.display.set_mode(
        (aiSettings.screenWidth, aiSettings.screenHeight))
    pygame.display.set_caption("Alien Invision")
    ship = Ship(aiSettings, screen)
    bullets = Group()
    while True:
        # gf.checkEvents(ship)
        gf.checkEvents(aiSettings, screen, ship, bullets)
        ship.update()
        gf.updateBullets(bullets)
        gf.updateScreen(aiSettings, screen, ship, bullets)
Beispiel #3
0
def run_game():

    pygame.init()
    pygame.mixer.init()
    pygame.mixer.music.load("images/music.mp3")
    pygame.mixer.music.play(-1, 130.0)
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Aliens")
    stats = GameStats(ai_settings)
    playButton = Button(ai_settings, screen, "Play")
    highScore = HighScores(screen, ai_settings)
    score = Score(ai_settings, screen, "Wave#: " + str(stats.waveNumber),
                  stats)
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()
    stars = Group()
    badBullets = Group()
    barriers = Group()
    gf.makeBarriers(barriers, screen, ai_settings)
    gf.createFleet(ai_settings, screen, ship, aliens)
    highScore.prepScores()

    screen.fill(ai_settings.bg_color)
    while True:
        screen.fill(ai_settings.bg_color)
        gf.updateBackground(ai_settings, screen, stars)
        gf.drawBarrier(barriers)
        gf.check_events(ai_settings, screen, ship, stats, playButton, aliens,
                        bullets, barriers)
        gf.updateScreen(ai_settings, screen, stats, ship, aliens, bullets,
                        playButton, score, badBullets)

        if stats.gameActive:
            ship.update()
            gf.barriersCollide(barriers, bullets)
            gf.updateBullets(ai_settings, screen, stats, ship, aliens, bullets,
                             badBullets, highScore, barriers)
            gf.updateAliens(ai_settings, stats, screen, ship, aliens, bullets,
                            highScore, badBullets)
            gf.badShotting(aliens, badBullets, ai_settings, screen)
        else:
            highScore.prepScores()
            highScore.drawScores()

        pygame.display.flip()
Beispiel #4
0
def run_game():
    # Initialisiere das Spiel.
    pygame.init()
    # mySettings ist eine Instanz der Klasse Settings aus der Datei settings.
    mySettings = settings.Settings()

    # Spiel im Fenstermodus. Sinnvoll bei der Fehlersuche.
    # Darum ist die Zeile auskommentiert.
    # So kann die Zeile einfach wieder aktiviert werden.
    screen = pygame.display.set_mode((mySettings.screenWidth, mySettings.screenHight))

    # Spiel im Vollbilsmodus.
    #screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
    pygame.display.set_caption(mySettings.windowCaption)
    # Schalte die Maus aus, damit sie nicht mehr sichtbar ist.
    pygame.mouse.set_visible(False)
    # einstellen der fps
    clock = pygame.time.Clock()

    font = pygame.freetype.Font("fonts/sans.ttf")

    gameRunning = True

    # myShip ist eine Instanz der Klasse Ship aus der Datei ship.
    myShip = ship.Ship(screen)

    bullets = pygame.sprite.Group()
    asteroids = pygame.sprite.Group()

    # Starte die Hauptschleife des Spiels.
    if mySettings.gameRunning == True:
        while True:
            clock.tick(mySettings.fps)
            gf.checkEvents(mySettings, screen, myShip, bullets)
            myShip.update()
            gf.updateBullets(bullets, asteroids)
            gf.updateAsteriods(mySettings, screen, asteroids)
            gf.updateScreen(mySettings, screen, myShip, bullets, asteroids)
            if mySettings.gameRunning == False:
                break
    if mySettings.gameRunning == False:
        while True:
            gf.checkEventNewGame(mySettings)
            if mySettings.newGame == True:
                break
    if mySettings.newGame == True:
        mySettings.newGame = False
        run_game()
def runGame():
    #runs the game and sets proper display resolution
    pygame.init()
    gameSettings = Settings()
    screen = pygame.display.set_mode(
        (gameSettings.screen_width, gameSettings.screen_height
         )  #imports screen resolution from settings.py
    )

    #create an instance to store the game's stats
    stats = gameStats(gameSettings)

    #draws the ship on the screen, creates a group of bullets, and a group of aliens
    ship = Ship(gameSettings, screen)
    bullets = Group()
    aliens = Group()

    #create first fleet of aliens
    gf.createFleet(gameSettings, screen, ship, aliens)

    #main loop for the game
    while True:
        #window title
        pygame.display.set_caption("Space Invaders Ripoff")

        #draw the play button
        playButton = Button(gameSettings, screen, "PLAY")

        #draw everything on screen constantly
        screen.fill(gameSettings.bgColor)
        ship.blit()

        #updates the ship based on real-time occurences in-game
        gf.checkEvents(gameSettings, screen, stats, playButton, ship, aliens,
                       bullets)

        if stats.gameActive:
            ship.update()
            gf.updateBullets(gameSettings, screen, ship, aliens, bullets)
            gf.updateAliens(gameSettings, stats, screen, ship, aliens, bullets)

        gf.updateScreen(gameSettings, screen, stats, ship, aliens, bullets,
                        playButton)

        #drawing the most recent screen refresh
        pygame.display.flip()
Beispiel #6
0
def runGame():
    pygame.init()
    aiSettings = Settings()
    screen = pygame.display.set_mode((aiSettings.screenWidth, aiSettings.screenHeight))
    pygame.display.set_caption("Alien Invasion")
    stats = GameStats(aiSettings)
    ship = Ship(aiSettings, screen)
    bullets = Group()
    aliens = Group()
    gf.createFleet(aiSettings, screen, aliens, ship)
    playButton = Button(aiSettings, screen, "Play")
    sb = Scoreboard(aiSettings, screen, stats)

    while True:
        gf.checkEvents(aiSettings, screen, ship, bullets, aliens, stats, playButton, sb)
        if stats.gameActive:
            ship.update()
            gf.updateBullets(aiSettings, bullets, aliens, screen, ship, stats, sb)
            gf.updateAliens(aiSettings, stats, screen, aliens, bullets, ship, sb)
        gf.updateScreen(aiSettings, screen, ship, bullets, aliens, stats, playButton, sb)
Beispiel #7
0
def runGame():
    #Initialize game and create a window
    pg.init()
    #create a new object using the settings class
    setting = Settings()
    #creaete a new object from pygame display
    screen = pg.display.set_mode((setting.screenWidth, setting.screenHeight))
    #set window caption using settings obj
    pg.display.set_caption(setting.windowCaption)

    playBtn = Button(setting, screen, "PLAY", 200)
    menuBtn = Button(setting, screen, "MENU", 250)
    twoPlayBtn = Button(setting, screen, "2PVS", 250)
    #setBtnbtn = Button(setting, screen, "SETTING", 300)
    aboutBtn = Button(setting, screen, "ABOUT", 300)
    quitBtn = Button(setting, screen, "QUIT", 400)
    greyBtn = Button(setting, screen, "GREY", 200)
    redBtn = Button(setting, screen, "RED", 250)
    blueBtn = Button(setting, screen, "BLUE", 300)
    #make slector for buttons
    sel = Selector(setting, screen)
    sel.rect.x = playBtn.rect.x + playBtn.width + 10
    sel.rect.centery = playBtn.rect.centery

    #Create an instance to stor game stats
    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)

    #Make a ship
    ship = Ship(setting, screen)
    #Ships for two player
    ship1 = Ship(setting, screen)
    ship2 = Ship(setting, screen)

    #make a group of bullets to store
    bullets = Group()
    eBullets = Group()
    setting.explosions = Explosions()

    #Make an alien
    aliens = Group()
    gf.createFleet(setting, screen, ship, aliens)
    pg.display.set_icon(pg.transform.scale(ship.image, (32, 32)))

    #plays bgm
    pg.mixer.music.load("sounds/galtron.mp3")
    pg.mixer.music.set_volume(0.25)
    pg.mixer.music.play(-1)

    runGame = True

    #Set the two while loops to start mainMenu first
    while runGame:
        #Set to true to run main game loop
        while stats.mainMenu:
            mm.checkEvents(setting, screen, stats, sb, playBtn, twoPlayBtn,
                           aboutBtn, quitBtn, menuBtn, sel, ship, aliens,
                           bullets, eBullets)
            mm.drawMenu(setting, screen, sb, playBtn, menuBtn, twoPlayBtn,
                        aboutBtn, quitBtn, sel)

        while stats.playMenu:
            pm.checkEvents(setting, screen, stats, sb, playBtn, greyBtn,
                           redBtn, blueBtn, quitBtn, menuBtn, sel, ship,
                           aliens, bullets, eBullets)
            pm.drawMenu(setting, screen, sb, greyBtn, redBtn, blueBtn, menuBtn,
                        quitBtn, sel)

        while stats.mainGame:
            #Game functions
            gf.checkEvents(setting, screen, stats, sb, playBtn, quitBtn, sel,
                           ship, aliens, bullets, eBullets)  #Check for events

            if stats.gameActive:
                gf.updateAliens(setting, stats, sb, screen, ship, aliens,
                                bullets, eBullets)  #Update aliens
                gf.updateBullets(setting, screen, stats, sb, ship, aliens,
                                 bullets, eBullets)  #Update collisions
                ship.update(bullets)  #update the ship
            #Update the screen
            gf.updateScreen(setting, screen, stats, sb, ship, aliens, bullets,
                            eBullets, playBtn, menuBtn, quitBtn, sel)
        while stats.mainAbout:
            About.checkEvents(setting, screen, stats, sb, playBtn, quitBtn,
                              menuBtn, sel, ship, aliens, bullets, eBullets)
            About.drawMenu(setting, screen, sb, menuBtn, quitBtn, sel)

        while stats.twoPlayer:
            tp.checkEvents(setting, screen, stats, playBtn, quitBtn, sel,
                           bullets, eBullets, ship1, ship2)
            if stats.gameActive:
                ship1.update(bullets)
                ship2.update(bullets)
                tp.updateBullets(setting, screen, stats, ship1, ship2, bullets,
                                 eBullets)
            tp.updateScreen(setting, screen, stats, bullets, eBullets, playBtn,
                            menuBtn, quitBtn, sel, ship1, ship2)
        while stats.mainGame:
            if runGame == True:
                print("test")
Beispiel #8
0
def runGame():
	#Initialize game and create a window
	pg.init()
	pg.mixer.init()
	pg.time.delay(1000)
	#create a new object using the settings class
	setting = Settings()
	#creaete a new object from pygame display
	screen = pg.display.set_mode((setting.screenWidth, setting.screenHeight))
	#set window caption using settings obj
	pg.display.set_caption(setting.windowCaption)

	bgm = pg.mixer.Sound('music/背景音乐.ogg')
	bgm.set_volume(0.05)
	bgm.play(-1)


	fps = 120
	fclock = pg.time.Clock()

	playBtn = Button(setting, screen, "PLAY", 200)
	menuBtn = Button(setting, screen, "MENU", 250)
	aboutBtn = Button(setting, screen, "ABOUT", 250)
	quitBtn = Button(setting, screen, "QUIT", 300)

	#make slector for buttons
	sel = Selector(setting, screen)
	sel.rect.x = playBtn.rect.x + playBtn.width + 10
	sel.rect.centery = playBtn.rect.centery

	#Create an instance to stor game stats
	stats = GameStats(setting)
	sb = Scoreboard(setting, screen, stats)

	#Make a ship
	ship = Ship(setting, screen)
	#Ships for two player 
	ship1 = Ship(setting, screen)
	ship2 = Ship(setting, screen)

	#make a group of bullets to store
	bullets = Group()

	#Make an alien
	aliens = Group()
	gf.createFleet(setting, screen, ship, aliens)
	icon = pg.image.load('gfx/SpaceShip.png')
	pg.display.set_icon(icon)

	runGame = True

	#Set the two while loops to start mainMenu first
	while runGame:
		#Set to true to run main game loop
		while stats.mainMenu:
			mm.checkEvents(setting, screen, stats, sb, playBtn, aboutBtn, quitBtn, menuBtn, sel, ship, aliens, bullets)
			mm.drawMenu(setting, screen, sb, playBtn, menuBtn, aboutBtn, quitBtn, sel)

		while stats.mainGame:
			#Game functions
			gf.checkEvents(setting, screen, stats, sb, playBtn, quitBtn, sel, ship, aliens, bullets) #Check for events
			if stats.gameActive:
				gf.updateAliens(setting, stats, sb, screen, ship, aliens, bullets) #Update aliens
				gf.updateBullets(setting, screen, stats, sb, ship, aliens, bullets) #Update collisions
				ship.update() #update the ship
			gf.updateScreen(setting, screen, stats, sb, ship, aliens, bullets, playBtn, menuBtn, quitBtn, sel) #Update the screen

			fclock.tick(fps)

		while stats.mainAbout:
			About.checkEvents(setting, screen, stats, sb, playBtn, quitBtn, menuBtn, sel, ship, aliens, bullets)
			About.drawMenu(setting, screen, sb, menuBtn, quitBtn, sel)

		while stats.mainGame:
			if runGame == True:
				print("test")
Beispiel #9
0
def runGame():
    # Initialize game and create a window
    pg.init()
    # create a new object using the settings class
    setting = Settings()
    # creaete a new object from pygame display
    screen = pg.display.set_mode((setting.screenWidth, setting.screenHeight))

    # intro
    intro.introimages()

    # set window caption using settings obj
    pg.display.set_caption(setting.windowCaption)

    bMenu = ButtonMenu(screen)
    bMenu.addButton("play", "PLAY")
    bMenu.addButton("menu", "MENU")
    bMenu.addButton("twoPlay", "2PVS")
    bMenu.addButton("settings", "SETTINGS")
    bMenu.addButton("invert", "INVERT")
    bMenu.addButton("about", "ABOUT")
    bMenu.addButton("quit", "QUIT")
    bMenu.addButton("grey", "GREY")
    bMenu.addButton("red", "RED")
    bMenu.addButton("blue", "BLUE")
    bMenu.addButton("retry", "RETRY")
    bMenu.addButton("hard", "HARD")
    bMenu.addButton("normal", "NORMAL")

    mainMenuButtons = ["play", "about", "settings", "quit"]  # delete "twoPlay"
    playMenuButtons = ["grey", "red", "blue", "menu", "quit"]
    levelMenuButtons = ["hard", "normal", "quit"]
    mainGameButtons = ["play", "menu", "quit"]
    aboutButtons = ["menu", "quit"]
    settingsMenuButtons = ["menu", "invert", "quit"]

    bgManager = BackgroundManager(screen)
    bgManager.setFillColor((0, 0, 0))
    bgManager.addBackground(
        "universe_1", "gfx/backgrounds/stars_back.png", 0, 1)
    bgManager.addBackground(
        "universe_1", "gfx/backgrounds/stars_front.png", 0, 1.5)
    bgManager.selectBackground("universe_1")

    # Create an instance to stor game stats
    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)

    # Make a ship
    ship = Ship(setting, screen)
    # Ships for two player
    ship1 = Ship(setting, screen)
    ship2 = Ship(setting, screen)

    # make a group of items to store
    items = Group()

    # make a group of bullets to store
    bullets = Group()
    charged_bullets = Group()
    eBullets = Group()
    setting.explosions = Explosions()

    # Make an alien
    aliens = Group()
    gf.createFleet(setting, stats, screen, ship, aliens)
    pg.display.set_icon(pg.transform.scale(ship.image, (32, 32)))

    bgImage = pg.image.load('gfx/title_c.png')
    bgImage = pg.transform.scale(
        bgImage, (setting.screenWidth, setting.screenHeight))
    bgImageRect = bgImage.get_rect()

    aboutImage = pg.image.load('gfx/About_modify2.png')
    aboutImage = pg.transform.scale(
        aboutImage, (setting.screenWidth, setting.screenHeight))
    aboutImageRect = aboutImage.get_rect()

    # plays bgm
    pg.mixer.music.load('sound_bgms/galtron.mp3')
    pg.mixer.music.set_volume(0.25)
    pg.mixer.music.play(-1)

    rungame = True

    sounds.stage_clear.play()
    # Set the two while loops to start mainMenu first
    while rungame:
        # Set to true to run main game loop
        bMenu.setMenuButtons(mainMenuButtons)
        while stats.mainMenu:
            if not stats.gameActive and stats.paused:
                setting.initDynamicSettings()
                stats.resetStats()
                ##stats.gameActive = True

                # Reset the alien and the bullets
                aliens.empty()
                bullets.empty()
                eBullets.empty()

                # Create a new fleet and center the ship
                gf.createFleet(setting, stats, screen, ship, aliens)
                ship.centerShip()

            mm.checkEvents(setting, screen, stats, sb, bMenu,
                           ship, aliens, bullets, eBullets)
            mm.drawMenu(setting, screen, sb, bMenu, bgImage, bgImageRect)

        bMenu.setMenuButtons(levelMenuButtons)
        while stats.levelMenu:
            lm.checkEvents(setting, screen, stats, sb, bMenu,
                           ship, aliens, bullets, eBullets)
            lm.drawMenu(setting, screen, sb, bMenu, bgImage, bgImageRect)

        bMenu.setMenuButtons(playMenuButtons)
        while stats.playMenu:
            pm.checkEvents(setting, screen, stats, sb, bMenu,
                           ship, aliens, bullets, eBullets)
            pm.drawMenu(setting, screen, sb, bMenu)

        bMenu.setMenuButtons(mainGameButtons)

        while stats.mainGame:
            # Game functions
            gf.checkEvents(setting, screen, stats, sb, bMenu, ship, aliens,
                           bullets, eBullets, charged_bullets)  # Check for events
            # Reset Game
            if gf.reset == 1:
                gf.reset = 0
                pg.register_quit(runGame())
            if stats.gameActive:
                gf.updateAliens(setting, stats, sb, screen, ship,
                                aliens, bullets, eBullets)  # Update aliens
                gf.updateBullets(setting, screen, stats, sb, ship, aliens, bullets,
                                 eBullets, charged_bullets, items)  # Update collisions
                gf.updateItems(setting, screen, stats, sb, ship,
                               aliens, bullets, eBullets, items)
                ship.update(bullets, aliens)  # update the ship
                # Update the screen
            gf.updateScreen(setting, screen, stats, sb, ship, aliens,
                            bullets, eBullets, charged_bullets, bMenu, bgManager, items)

        bMenu.setMenuButtons(aboutButtons)
        bMenu.setPos(None, 500)

        while stats.mainAbout:
            About.checkEvents(setting, screen, stats, sb,
                              bMenu, ship, aliens, bullets, eBullets)
            About.drawMenu(setting, screen, sb, bMenu,
                           aboutImage, aboutImageRect)

        while stats.twoPlayer:
            tp.checkEvents(setting, screen, stats, sb, bMenu,
                           bullets, aliens, eBullets, ship1, ship2)
            if stats.gameActive:
                ship1.update(bullets, aliens)
                ship2.update(bullets, aliens)
                tp.updateBullets(setting, screen, stats, sb,
                                 ship1, ship2, aliens, bullets, eBullets, items)
            tp.updateScreen(setting, screen, stats, sb, ship1,
                            ship2, aliens, bullets, eBullets, bMenu, items)

        bMenu.setMenuButtons(settingsMenuButtons)

        while stats.settingsMenu:
            sm.checkEvents1(setting, screen, stats, sb, bMenu,
                            ship, aliens, bullets, eBullets)
            sm.drawMenu(setting, screen, sb, bMenu)

        while stats.mainGame:
            if rungame == True:
                print("test")
Beispiel #10
0
        while stats.playMenu:
            pm.checkEvents(setting, screen, stats, sb, bMenu, ship, aliens, bullets, eBullets)
            pm.drawMenu(setting, screen, sb, bMenu)

        bMenu.setMenuButtons(mainGameButtons)

        while stats.mainGame:
            # Game functions
            gf.checkEvents(setting, screen, stats, sb, bMenu, ship, aliens, bullets, eBullets, charged_bullets)  # Check for events
            # Reset Game
            if gf.reset == 1:
                gf.reset = 0
                pg.register_quit(runGame())
            if stats.gameActive:
                gf.updateAliens(setting, stats, sb, screen, ship, aliens, bullets, eBullets)  # Update aliens
                gf.updateBullets(setting, screen, stats, sb, ship, aliens, bullets, eBullets, charged_bullets, items) # Update collisions
                gf.updateItems(setting, screen, stats, sb, ship, aliens, bullets, eBullets, items)
                ship.update(bullets, aliens)  # update the ship
                # Update the screen
            gf.updateScreen(setting, screen, stats, sb, ship, aliens, bullets, eBullets, charged_bullets, bMenu, bgManager, items)

        bMenu.setMenuButtons(aboutButtons)
        bMenu.setPos(None, 500)

        while stats.mainAbout:
            About.checkEvents(setting, screen, stats, sb, bMenu, ship, aliens, bullets, eBullets)
            About.drawMenu(setting, screen, sb, bMenu, aboutImage, aboutImageRect)

        while stats.twoPlayer:
            tp.checkEvents(setting, screen, stats, sb, bMenu, bullets, aliens, eBullets, ship1, ship2)
            if stats.gameActive: