def update(self): GameObject.update(self) self.x += self.dx self.y += self.dy for game_object in game_objects: if type(game_object) == Wall: overlap = BoxCollider.overlap(self.box_collider, game_object.box_collider) if overlap: pygame.mixer.Channel(6).play( pygame.mixer.Sound("music/player/Boom.wav")) self.deactivate() for game_object in game_objects: if type(game_object) == Enemy or type(game_object) == Enemy1: overlap = BoxCollider.overlap(self.box_collider, game_object.box_collider) if overlap: pygame.mixer.Channel(6).play( pygame.mixer.Sound("music/player/Boom.wav")) game_object.hp += -self.dam if game_object.hp <= 0: gamelevel.append("*") enemy_explosion = EnemyExplosion( game_object.x, game_object.y, game_object.dx, game_object.dy, game_object._type) add(enemy_explosion) game_object.deactivate() self.deactivate()
def setup(self): game_object.add(Background()) generate_map("assets/maps/map.json") player = Player(35 * 16, 27 * 16, global_input_manager) game_object.add(player) create_enemy.create_enemy() create_gift.create_gift() create_coin.create_coin()
def create_enemy(): enemy = Enemy(31*16,13*16,"normal") game_object.add(enemy) enemy1 = Enemy1(3*16,3*16,0,4,4, "normal") game_object.add(enemy1) enemy12 = Enemy1(220,304,2,0,2, "invisible") game_object.add(enemy12) enemy12 = Enemy1(368, 272,0,-1, 1, "normal") game_object.add(enemy12) enemy12 = Enemy1(288, 108, 3, 0, 3, "normal") game_object.add(enemy12)
def update(self): if self.input_manager.right_pressed: self.x += 10 if self.input_manager.left_pressed: self.x -= 10 if self.input_manager.up_pressed: self.y -= 10 if self.input_manager.down_pressed: self.y += 10 if self.input_manager.x_pressed: new_bullet = Bullet(self.x, self.y) game_object.add(new_bullet)
def update(self): self.frame_counter.run() if self.frame_counter.expired: for game_object in game_objects: if type(game_object) == Player: pygame.mixer.Channel(4).play( pygame.mixer.Sound("music/player/tower shoot.wav")) bullet_enemy = BulletEnemy(11 * 16, 15 * 16, game_object.x, game_object.y) add(bullet_enemy) self.frame_counter.reset()
def update(self): self.counter.run() self.count += 1 if self.counter.expired: enemy = Enemy(randint(30, 670), randint(0, 50)) game_object.add(enemy) self.counter.reset() if self.count > 2000: if self.counter.count == 50: enemy = Enemy(randint(30, 670), randint(0, 50)) game_object.add(enemy)
def shoot(self): if self.can_shoot: if self.input_manager.x_pressed and not self.shoot_lock: pygame.mixer.Channel(2).play( pygame.mixer.Sound("music/player/player_shoot.wav")) bullet_player = BulletPlayer(self.x, self.y, self.shootX, self.shootY) game_object.add(bullet_player) self.shoot_lock = True if self.shoot_lock: self.frame_counter.run() if self.frame_counter.expired: self.shoot_lock = False self.frame_counter.reset()
def update(self): GameObject.update(self) if not self.overlap: for game_object in game_objects: if type(game_object) == Player: overlap = BoxCollider.overlap(self.box_collider, game_object.box_collider) if overlap and game_object.count_coin == 7: self.overlap = True game_object.can_shoot = True if self.overlap: image_urls = ["assets/images/sprite/gift/gift_close.png", "assets/images/sprite/gift/gift_opening.png", "assets/images/sprite/gift/gift_open.png"] self.renderer = Animation(image_urls,False) self.renderer = ImageRenderer("assets/images/sprite/gift/gift_open.png") enemy_tower = EnemyTower(10*16+8, 15*16) add(enemy_tower)
def update(self): if self.input_manager.right_pressed: self.x += 5 if self.input_manager.left_pressed: self.x -= 5 if self.input_manager.down_pressed: self.y += 5 if self.input_manager.up_pressed: self.y -= 5 if self.input_manager.x_pressed: bullet = PlayerBullet(self.x, self.y) bullet.image = pygame.image.load( "images/bullet/player/mb69bullet1.png") add(bullet)
def update(self): if self._type == "tank" and self.speed == 2: self.frame_counter.run() if self.frame_counter.expired: pygame.mixer.Channel(5).play( pygame.mixer.Sound("music/player/tank_fire.wav")) bullet_enemy = BulletTank(self.x, self.y, self.dx, self.dy) game_object.add(bullet_enemy) self.frame_counter.reset() GameObject.update(self) self.renderer.update(self.dx, self.dy, self.die) if self.x > 520: self.dx = -self.speed self.dy = 0 else: self.check_overlap() if not self.overlap: self.directory = [1, 2, 3, 4] else: if len(self.directory) == 0: self.directory = [1, 2, 3, 4] move = choice(self.directory) if move == 1: self.dy = self.speed self.dx = 0 elif move == 2: self.dy = -self.speed self.dx = 0 elif move == 3: self.dx = self.speed self.dy = 0 elif move == 4: self.dx = -self.speed self.dy = 0 self.reset_boxcollide() self.check_overlap() if self.overlap: self.directory.remove(move) self.x += self.dx self.y += self.dy self.overlap = False
def generate_map(json_file_url): #assets/maps/tut_lvl.json data, width, height = load_map(json_file_url) for index, title in enumerate(data): title_x = index % width title_y = index // width if title == 0: pass elif title == 1: game_object.add(Grass(title_x * 32, title_y * 32)) elif title == 2: game_object.add(SpikeFake(title_x * 32, title_y * 32)) elif title == 3: game_object.add(Spike(title_x * 32, title_y * 32)) elif title == 4: game_object.add(Platform(title_x * 32, title_y * 32))
def __init__(self): game_object.GameObject.__init__(self, 0, 0) self.delay = FrameCounter(random.randint(200, 300)) self.platform_spawner = PlatformSpawner() game_object.add(self.platform_spawner) self.platform_flying_spawner = PlatformFlyingSpawner() game_object.add(self.platform_flying_spawner) self.platform_flying_spawner.counter.expired = True self.carrot_spawner = CarrotSpawner() game_object.add(self.carrot_spawner) self.items_spawner = ItemsSpawner() game_object.add(self.items_spawner)
def setup(self): player = Player(50, 400) game_object.add(player) game_event = GameEvent() game_object.add(game_event) # background = Background(640, 320) # game_object.game_objects.insert(0, background) for i in range(22): platform2 = Platform(32 + i * 64, 650) game_object.add(platform2)
def setup(self): menu = Menu(640, 368) game_object.add(menu) start = Start(650, 450) game_object.add(start)
self.y = object.y - 32 break def render(self, canvas): if self.renderer is not None: self.renderer.render(canvas, self.x, self.y) # if self.box_collider is not None: # self.box_collider.render(canvas) def deactivate(self): self.is_active = False man = Player(4 * 32, 10 * 32, input_manager) game_object.add(man) generate_map('assets/maps/map.json') while loop: # 1. Event processing events = pygame.event.get() for event in events: if event.type == pygame.QUIT: loop = False else: input_manager.update(event) game_object.update() # 2. Draw
pygame.display.set_caption('shoot') SIZE = (800,640) canvas = pygame.display.set_mode(SIZE) clock = pygame.time.Clock() loop = True input_manager =InputManager() player = Player(600, 500, input_manager) game_object.add(player) game_object.add(EnemySpawner()) img = pygame.image.load('image/heart.png') while loop: events = pygame.event.get() for event in events: if event.type == pygame.QUIT: loop = False else: input_manager.update(event) hp_count = 0 for obj in game_object.game_objects:
def setup(self): game_over_scene = GameOver(320, 240) game_object.add(game_over_scene)
import game_object from input.input_manager import InputManager BG_COLOR = (125, 125, 0) # 1. init pygame pygame.init() # 2. Set up screen SIZE = (600, 800) canvas = pygame.display.set_mode(SIZE) input_manager = InputManager() player = Player(200, 300, input_manager) enemy_spawner = EnemySpawner() game_object.add(player) game_object.add(enemy_spawner) loop = True clock = pygame.time.Clock() while loop: # loop events events = pygame.event.get() for event in events: if event.type == pygame.QUIT: loop = False input_manager.update(event) game_object.update()
def update(self): self.counter.run() if self.counter.expired: enemy = Enemy(100, 0) game_object.add(enemy) self.counter.reset()
# 1. init pygame pygame.init() # 2. setup screen size = (1280, 720) canvas = pygame.display.set_mode(size) input_manager = InputManager() hole = Hole(20, 360) shop = Shop(1200, 360) player = Player(2, 3, input_manager) dog_spawner = DogSpawner(25, 25) # enemy_spawner1 = EnemySpawner(200,300) # enemy_spawner2 = EnemySpawner(100,100) enemy = Enemy(500, 500) game_object.add(player) game_object.add(hole) game_object.add(dog_spawner) # game_object.add(enemy_spawner1) game_object.add(enemy) game_object.add(shop) mouse = Mouse(0, 0) game_object.add(mouse) clock = pygame.time.Clock() loop = True while loop: # loop events events = pygame.event.get() for event in events:
def generate_map(json_file_url): data, width, height = load_map(json_file_url) for index, title in enumerate(data): title_x = (index % width) * 16 + 8 title_y = (index // width) * 16 + 8 if title == 0: pass elif title == 1: pass elif title == 2: pass elif title == 3: pass elif title == 4: pass elif title == 5: pass elif title == 6: pass elif title == 7: pass elif title == 8: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wal11.png")) elif title == 9: pass elif title == 10: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall11.png")) elif title == 11: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall10.png")) elif title == 12: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall12.png")) elif title == 13: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall2.png")) elif title == 14: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall3.png")) elif title == 15: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall4.png")) elif title == 16: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall5.png")) elif title == 17: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall6.png")) elif title == 18: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall7.png")) elif title == 19: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall8.png")) elif title == 20: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall9.png")) elif title == 21: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall14.png")) elif title == 22: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall15.png")) elif title == 23: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall16.png")) elif title == 24: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall 13.png")) elif title == 25: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall 1-1.png")) elif title == 26: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall17.png")) elif title == 27: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall1-3.png")) elif title == 28: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall1-4.png")) elif title == 29: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall1-5.png")) elif title == 30: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall1-6.png")) elif title == 31: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall1-7.png")) elif title == 32: game_object.add( Wall(title_x, title_y, "assets/images/sprite/wall1-2.png"))
def create_coin(): coin1 = Coin(48, 208) game_object.add(coin1) coin2 = Coin(244, 300) game_object.add(coin2) coin3 = Coin(450, 114) game_object.add(coin3) coin4 = Coin(210, 48) game_object.add(coin4) coin5 = Coin(80, 368) game_object.add(coin5) coin6 = Coin(428, 428) game_object.add(coin6) coin7 = Coin(492, 268) game_object.add(coin7)
import game_object pygame.init() # setup game window size = (600, 800) # pixels canvas = pygame.display.set_mode(size) input_manager = InputManager() # Clock clock = pygame.time.Clock() loop = True player = Player(30, 30, input_manager) enemy = Enemy(60, 60) game_object.add(player) game_object.add(enemy) while loop: # events # quit # mouse # key events = pygame.event.get() for event in events: if event.type == pygame.QUIT: loop = False else: input_manager.update(event)
def setup(self): gameover = Gameover(640, 368) game_object.add(gameover)
pygame.init() # 2. Set screen SIZE = (800, 640) canvas = pygame.display.set_mode(SIZE) # 3. Clock clock = pygame.time.Clock() loop = True # input_manager =InputManager() player = Player(400, 580, input_manager) game_object.add(player) while loop: # 1. Event processing events = pygame.event.get() for event in events: if event.type == pygame.QUIT: loop = False else: input_manager.update(event) game_object.update() # 2. Draw canvas.fill(BG)
clock = pygame.time.Clock() pygame.init() SCREEN_SIZE = (400, 600) canvas = pygame.display.set_mode(SCREEN_SIZE) pygame.display.set_caption("Micro-war") input_manager = InputManager() player = Player(200, 540, input_manager) player.image = pygame.image.load("images/images/player/MB-69/player1.png") e = Enemy(200, 40) e.image = pygame.image.load("images/enemy/bacteria/bacteria1.png") add(player) add(e) bullets = [] background_image = pygame.image.load("images/background/background.png") # right_pressed = False # left_pressed = False # up_pressed = False # down_pressed = False # x_pressed = False loop = True while loop:
def move(self): self.dx = 0 self.dy = 0 GameObject.update(self) if self.input_manager.up_pressed: pygame.mixer.Channel(0).play( pygame.mixer.Sound("music/player/player_move.wav")) self.shootX = 0 self.shootY = -6 self.renderer = ImageRenderer("assets/images/sprite/player_up.png") self.box_collider.y = self.y - self.speed self.check_overlap() if self.overlap: self.dy += 0 else: self.dy += -self.speed elif self.input_manager.down_pressed: pygame.mixer.Channel(1).play( pygame.mixer.Sound("music/player/player_move.wav")) self.shootX = 0 self.shootY = 6 self.renderer = ImageRenderer( "assets/images/sprite/player_down.png") self.box_collider.y = self.y + self.speed self.check_overlap() if self.overlap: self.dy += 0 else: self.dy += self.speed elif self.input_manager.left_pressed: pygame.mixer.Channel(1).play( pygame.mixer.Sound("music/player/player_move.wav")) self.shootX = -6 self.shootY = 0 self.renderer = ImageRenderer( "assets/images/sprite/player_left.png") self.box_collider.x = self.x - self.speed self.check_overlap() if self.overlap: self.dx += 0 else: self.dx += -self.speed elif self.input_manager.right_pressed: pygame.mixer.Channel(1).play( pygame.mixer.Sound("music/player/player_move.wav")) self.shootX = 6 self.shootY = 0 self.renderer = ImageRenderer( "assets/images/sprite/player_right.png") self.box_collider.x = self.x + self.speed self.check_overlap() if self.overlap: self.dx += 0 else: self.dx += self.speed self.x += self.dx self.y += self.dy self.box_collider.x = self.x self.box_collider.y = self.y self.overlap = False if len(gamelevel) == 3: enemy = Enemy1(6 * 16, 13.5 * 16, 5, 0, 5, "tank") enemy.hp = 50 enemy1 = Enemy1(10 * 16, 3 * 16, -2, 0, 2, "tank") enemy1.hp = 50 game_object.add(enemy) game_object.add(enemy1) gamelevel.append("*")
def create_player(): player = Player(35 * 16, 27 * 16) game_object.add(player)
def create_gift(): gift = Gift(600, 200) game_object.add(gift)