def test_shoot_friend(self): player1, _, _, pw_map = create_player(Team.BLUE, self.hcriat) player2, _, _, pw_map = create_player(Team.BLUE, self.hcriat) pw_map.move_player(player2, player1.x+2, player1.y) _, shoot_handler = shoot_action(player1.get_uid(), 'e', self.hcriat, None, None) for _ in range(3): self.assertTrue(shoot_handler.update())
def test_shoot_enemy(self): player1, _, _, pw_map = create_player(Team.BLUE, self.hcriat) player2, _, _, pw_map = create_player(Team.RED, self.hcriat) pw_map.move_player(player2, player1.x+2, player1.y) _, shoot_handler = shoot_action(player1.get_uid(), 'e', self.hcriat, callback, None) health_before = player2.vida self.assertTrue(shoot_handler.update()) # move 1 sqm self.assertFalse(shoot_handler.update()) # hit the enemy self.assertLess(player2.vida, health_before)
def test_kill_and_revive_enemy(self): player1, _, _, pw_map = create_player(Team.BLUE, self.hcriat) player2, _, _, pw_map = create_player(Team.RED, self.hcriat) pw_map.move_player(player2, player1.x+1, player1.y) _, shoot_handler = shoot_action( player1.get_uid(), 'e', self.hcriat, callback, callback) player2.vida = 1 shoot_handler.loop() self.assertFalse(player2.vivo) revive_player(player2.uid, self.hcriat) self.assertTrue(player2.vivo) self.assertEqual(player2.vida, CreaturesHandler.VIDA_MAX)
def test_score_from_red(self): player1, _, _, pw_map = create_player(Team.RED, self.hcriat) player2, _, _, pw_map = create_player(Team.BLUE, self.hcriat) def die_callback(uid): return increase_score(uid, self.hcriat) pw_map.move_player(player2, player1.x+1, player1.y) _, shoot_handler = shoot_action( player1.get_uid(), 'e', self.hcriat, callback, die_callback) player2.vida = 1 self.assertEqual(self.score.red_score, 0) shoot_handler.loop() self.assertEqual(self.score.red_score, 1)
def test_shoot_hit_wall(self): player, _, _, _ = create_player(Team.BLUE, self.hcriat) _, shoot_handler = shoot_action(player.get_uid(), 'o', self.hcriat, None, None) for _ in range(3): self.assertTrue(shoot_handler.update()) self.assertFalse(shoot_handler.update())
def test_shoot_update(self): player, _, _, _ = create_player(Team.BLUE, self.hcriat) _, shoot_handler = shoot_action(player.get_uid(), 'n', self.hcriat, None, None) before_y = shoot_handler.bala.y shoot_handler.loop() self.assertEqual(before_y - 1, shoot_handler.bala.y)
def test_shoot_directions(self): player, _, _, _ = create_player(Team.BLUE, self.hcriat) for d in ('n', 's', 'o', 'e', 'no', 'ne', 'so', 'se'): player, shoot_handler = shoot_action(player.get_uid(), d, self.hcriat, None, None) self.assertIsNot(shoot_handler, None) player.bloqD.unblock()