class Game: def __init__(self): pygame.init() # screen size root = tk.Tk() self.WIDTH = int(root.winfo_screenwidth()*0.58565) self.HEIGHT = int(root.winfo_screenheight()*0.78125) # movement booleans self.up_pressed = False self.down_pressed = False self.left_pressed = False self.right_pressed = False # pygame inits self.game_display = pygame.display.set_mode((self.WIDTH, self.HEIGHT)) pygame.display.set_caption('Sneaky Santa') self.clock = pygame.time.Clock() self.gameExit = False # init game objects self.santa = Santa(50, 50) self.obstacles = [Obstacle(100, 100)] self.room = Room(self.obstacles, self.santa) def game_loop(self): stop = False while not self.gameExit: self.game_display.fill( (255, 255, 255) ) self.game_display.blit(self.room.getimg(), (0, 0)) for o in self.obstacles: self.game_display.blit(o.getimg(), o.getpos()) self.game_display.blit(self.santa.getimg(), self.santa.getpos()) if stop == False: count = 0 self.controls() self.santa.setvel(self.up_pressed, self.down_pressed, self.left_pressed, self.right_pressed) collision_status = self.room.check_collision(self.santa) stop = self.collision_handler(collision_status) count = count + 1 if count == 15: stop = False self.santa.update() pygame.display.update() def controls(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.gameExit = True # key pressed if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: self.up_pressed = True if event.key == pygame.K_DOWN: self.down_pressed = True if event.key == pygame.K_LEFT: self.left_pressed = True if event.key == pygame.K_RIGHT: self.right_pressed = True # key released elif event.type == pygame.KEYUP: if event.key == pygame.K_UP: self.up_pressed = False if event.key == pygame.K_DOWN: self.down_pressed = False if event.key == pygame.K_LEFT: self.left_pressed = False if event.key == pygame.K_RIGHT: self.right_pressed = False def collision_handler(self, status): if status == "NO_COLLISION": return False elif status == "HARD_OBJECT": stop = self.santa.hard_object()
class Game: def __init__(self): pygame.init() # screen size root = tk.Tk() self.WIDTH = int(root.winfo_screenwidth()*0.58565) self.HEIGHT = int(root.winfo_screenheight()*0.78125) # movement booleans self.up_pressed = False self.down_pressed = False self.left_pressed = False self.right_pressed = False # pygame inits self.game_display = pygame.display.set_mode((self.WIDTH, self.HEIGHT)) pygame.display.set_caption('Sneaky Santa') self.clock = pygame.time.Clock() self.gameExit = False # init santa self.santa = Santa(50, 50) def game_loop(self): while not self.gameExit: self.game_display.fill( (255, 255, 255) ) self.game_display.blit(self.santa.getimg(), self.santa.getpos()) self.controls() print self.santa.setvel(self.up_pressed, self.down_pressed, self.left_pressed, self.right_pressed) self.santa.update() pygame.display.update() self.clock.tick(60) def controls(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.gameExit = True # key pressed if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: self.up_pressed = True if event.key == pygame.K_DOWN: self.down_pressed = True if event.key == pygame.K_LEFT: self.left_pressed = True if event.key == pygame.K_RIGHT: self.right_pressed = True # key released elif event.type == pygame.KEYUP: if event.key == pygame.K_UP: self.up_pressed = False if event.key == pygame.K_DOWN: self.down_pressed = False if event.key == pygame.K_LEFT: self.left_pressed = False if event.key == pygame.K_RIGHT: print("!") self.right_pressed = False