class PlayMode(Runnable): def __init__(self): Runnable.__init__(self) self.gameManager = GameManager() self.statusViewers = [UnitStatusViewer(base, BASE_DEFAULT_HP, (700, 50 + i * 50)) for i, base in enumerate(self.gameManager.bases)] +\ [UnitStatusViewer(unit, UNIT_DEFAULT_HP, (700, 250 + i * 50)) for i, unit in enumerate(self.gameManager.units)] def step(self): self.gameManager.step() for statusViewer in self.statusViewers: statusViewer.step() def isValid(self): return self.gameManager.isValid() def draw(self, screen): screen.fill((0, 0, 0)) self.gameManager.draw(Image(screen.getSurface().subsurface(((0, 0), (600, 600))))) for statusViewer in self.statusViewers: statusViewer.draw(screen) def end(self): self.gameManager.end() for statusViewer in self.statusViewers: statusViewer.end()
import pygame from gameManager import GameManager pygame.init() screenSize = (400, 400) surface = pygame.display.set_mode(screenSize) theGame = GameManager(surface) clock = pygame.time.Clock() while True: clock.tick(30) theGame.draw() theGame.doTurn()
import pygame from gameManager import GameManager pygame.init() screenSize = (640, 640) surface = pygame.display.set_mode(screenSize) theGame = GameManager(surface) clock = pygame.time.Clock() while True: clock.tick(30) theGame.draw() theGame.doTurn()
# main loop while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False print(event) t = pygame.time.get_ticks() deltaTime = (t - getTicksLastFrame) / 1000.0 getTicksLastFrame = t gameDisplay.fill(WARM_WHITE) bgPosy += deltaTime * 200 bgPosy2 += deltaTime * 200 if bgPosy > height: bgPosy = -600 if bgPosy2 > height: bgPosy2 = -600 gameDisplay.blit(backgroundClouds, (0, bgPosy)) gameDisplay.blit(backgroundClouds, (0, bgPosy2)) game_manager.draw(gameDisplay) game_manager.update(deltaTime) message_display( 'Health', (48, 22), ) pygame.display.update() clock.tick(60)