コード例 #1
0
    def __init__(self, score, time):
        "Initialises resources and start level"

        self.background = pygame.image.load("sprites/sky.jpg")
        self.background.convert()  #for blitting more faster

        self.screen = Constants.SCREEN
        self.score = score
        self.display_items = pygame.sprite.Group()
        self.timeclock = GameTime((0.05, 0.05), time)
        self.display_items.add(self.timeclock, self.score)

        self.time_speed = pygame.time.Clock()
        self.time = 0.0

        self.quit = False
        self.pause = False
        self.start = False
        self.completed = False
        self.gameover = False
        self.message = None

        self.polygon = Polygon(self)
        self.event_manager = EventManager(self)
        self.on_enter()
コード例 #2
0
ファイル: Levels.py プロジェクト: reality3d/molefusion
	def __init__(self,score,time):
		"Initialises resources and start level"
		
		self.background=pygame.image.load("sprites/sky.jpg")
		self.background.convert() #for blitting more faster
		
		self.screen=Constants.SCREEN
		self.score = score
		self.display_items = pygame.sprite.Group()
		self.timeclock = GameTime((0.05,0.05),time)		
		self.display_items.add(self.timeclock,self.score)
		
		self.time_speed=pygame.time.Clock()
		self.time=0.0
		
		self.quit = False
		self.pause = False
		self.start = False
		self.completed = False
		self.gameover = False
		self.message = None
		
		self.polygon=Polygon(self)
		self.event_manager = EventManager(self)
		self.on_enter()
コード例 #3
0
ファイル: Levels.py プロジェクト: reality3d/molefusion
class Level:
	"Level Base class"

	def __init__(self,score,time):
		"Initialises resources and start level"
		
		self.background=pygame.image.load("sprites/sky.jpg")
		self.background.convert() #for blitting more faster
		
		self.screen=Constants.SCREEN
		self.score = score
		self.display_items = pygame.sprite.Group()
		self.timeclock = GameTime((0.05,0.05),time)		
		self.display_items.add(self.timeclock,self.score)
		
		self.time_speed=pygame.time.Clock()
		self.time=0.0
		
		self.quit = False
		self.pause = False
		self.start = False
		self.completed = False
		self.gameover = False
		self.message = None
		
		self.polygon=Polygon(self)
		self.event_manager = EventManager(self)
		self.on_enter()

	def get_score_object(self):
		return self.score
	
	def set_score_object(self, score_object):
		self.score = score_object
	
	def on_enter(self):
		self.screen.blit(self.background, (0, 0))
		pygame.display.flip()
		self.start = True
		self.pause = True
		self.timeclock.delete_timer()
		self.message = MessageBox(self,3000)
		self.display_items.add(self.message)


		
	def on_exit(self):
		self.display_items.remove(self.timeclock)
		del self.polygon
		del self.timeclock
		if self.completed == False: #end of game, so music fadeout
			pygame.mixer.music.fadeout(500)
		f = FadeTransition(500,Constants.FADECOLOR,"to")
		del f
		
	
	def run(self):
		
		while 1:
			
			self.time+=self.time_speed.tick(Constants.FPS)
			
			if self.gameover and (not self.pause):				
				self.pause = True
				self.polygon.reset()
				self.timeclock.delete_timer()
				self.message = MessageBox(self,4000)
				self.display_items.add(self.message)
			
			if self.completed and (not self.pause):
				self.pause = True
				self.polygon.reset()
				self.timeclock.delete_timer()
				self.message = MessageBox(self,4000)
				self.display_items.add(self.message)
				self.polygon.set_alive(False)
				self.polygon.reset()
			
			if self.quit:
				self.on_exit()
				if self.gameover == True:
					h = HighScores()
					h.insert_HighScores(Constants.PLAYERNAME,str(self.score.get_score()))
					hlist = HighScores().get_HighScores()
					if len(hlist)<5 or self.score.get_score() > hlist[4].get_points():
						h.flush()
					pygame.event.clear()
					highscores = HighScoresMenu("sprites/sky.jpg")
					highscores.run()
					return False
				else:
					return
			
			
			self.event_manager.run()
			self.screen.blit(self.background, (0, 0))
			self.display_items.update()			
			self.display_items.draw(self.screen)
			self.atoms.update()			
			self.atoms.draw(self.screen)
			
			if self.start == True  and self.pause == False:
				self.display_items.remove(self.message)
				self.message = None
				self.start = False
				self.polygon.set_alive(False)
				self.polygon.reset()
				self.timeclock.add_timer()
				
			if not self.pause:
				self.polygon.draw()					
			pygame.display.flip()
コード例 #4
0
class Level:
    "Level Base class"

    def __init__(self, score, time):
        "Initialises resources and start level"

        self.background = pygame.image.load("sprites/sky.jpg")
        self.background.convert()  #for blitting more faster

        self.screen = Constants.SCREEN
        self.score = score
        self.display_items = pygame.sprite.Group()
        self.timeclock = GameTime((0.05, 0.05), time)
        self.display_items.add(self.timeclock, self.score)

        self.time_speed = pygame.time.Clock()
        self.time = 0.0

        self.quit = False
        self.pause = False
        self.start = False
        self.completed = False
        self.gameover = False
        self.message = None

        self.polygon = Polygon(self)
        self.event_manager = EventManager(self)
        self.on_enter()

    def get_score_object(self):
        return self.score

    def set_score_object(self, score_object):
        self.score = score_object

    def on_enter(self):
        self.screen.blit(self.background, (0, 0))
        pygame.display.flip()
        self.start = True
        self.pause = True
        self.timeclock.delete_timer()
        self.message = MessageBox(self, 3000)
        self.display_items.add(self.message)

    def on_exit(self):
        self.display_items.remove(self.timeclock)
        del self.polygon
        del self.timeclock
        if self.completed == False:  #end of game, so music fadeout
            pygame.mixer.music.fadeout(500)
        f = FadeTransition(500, Constants.FADECOLOR, "to")
        del f

    def run(self):

        while 1:

            self.time += self.time_speed.tick(Constants.FPS)

            if self.gameover and (not self.pause):
                self.pause = True
                self.polygon.reset()
                self.timeclock.delete_timer()
                self.message = MessageBox(self, 4000)
                self.display_items.add(self.message)

            if self.completed and (not self.pause):
                self.pause = True
                self.polygon.reset()
                self.timeclock.delete_timer()
                self.message = MessageBox(self, 4000)
                self.display_items.add(self.message)
                self.polygon.set_alive(False)
                self.polygon.reset()

            if self.quit:
                self.on_exit()
                if self.gameover == True:
                    h = HighScores()
                    h.insert_HighScores(Constants.PLAYERNAME,
                                        str(self.score.get_score()))
                    hlist = HighScores().get_HighScores()
                    if len(hlist) < 5 or self.score.get_score(
                    ) > hlist[4].get_points():
                        h.flush()
                    pygame.event.clear()
                    highscores = HighScoresMenu("sprites/sky.jpg")
                    highscores.run()
                    return False
                else:
                    return

            self.event_manager.run()
            self.screen.blit(self.background, (0, 0))
            self.display_items.update()
            self.display_items.draw(self.screen)
            self.atoms.update()
            self.atoms.draw(self.screen)

            if self.start == True and self.pause == False:
                self.display_items.remove(self.message)
                self.message = None
                self.start = False
                self.polygon.set_alive(False)
                self.polygon.reset()
                self.timeclock.add_timer()

            if not self.pause:
                self.polygon.draw()
            pygame.display.flip()
コード例 #5
0
ファイル: main.py プロジェクト: meabefir/pygame-oop
        self.fix_draw_order()

    def load_UI(self):
        new_ui = CanvasComp(0, 0, GameData.window_size[0],
                            GameData.window_size[1])
        self.add_component(new_ui, 10)

    def load_fps(self):
        size = (100, 50)
        fps_counter = FPSCounter(0, GameData.window_size[1] - size[1], size[0],
                                 size[1])
        self.add_component(fps_counter)


game = Game()
GameData.game = game

running = True
while running:
    for event in pygame.event.get():
        Input.handle_input(event)
        game.handle_event(event)

    #game.handle_event(None)

    game.run()

    GameTime.update()
    clock.tick(120)