Exemplo n.º 1
0
    def reset(cls) -> None:
        """Réinitialise la map"""

        cls.start_time = time.time()

        cls.game_finished = False

        cls.player_infos = {}

        cls.all_cells = []

        cls.ref_time = -1 * cls.DELTA_T_NEW_CELL

        cls.grid = [[[] for y in range(cls.grid_size.y)]
                    for x in range(cls.grid_size.x)]

        cls.creatures = {}

        cls.player_id = cls.generateId()
        cls.focused_creature_id = cls.player_id

        player = Player(Vect2d(cls.size.x / 2, cls.size.y / 2), "Player",
                        Color.randomColor(), cls.player_id)

        cls.creatures[cls.player_id] = [player]
        # Création du joueur

        cls.bushes = []

        for i in range(config.NB_BUSHES):
            cls.createBush()
Exemplo n.º 2
0
    def __init__(self, pos: Vect2d) -> None:
        """
        Constructeur

        Args:
            pos (Vect2d): position de la cellule
        """

        self.color = Color.randomColor()
        # On prend une couleur aléatoire

        self.pos = pos

        self.radius = self.BASE_RADIUS
        self.score = 1
Exemplo n.º 3
0
    def createEnemy(cls) -> None:
        """Crée un nouvel ennemi en évitant le spawn-kill, apparition sur une
        autre créature"""

        ok = False
        timed_out = False
        compt = 0

        while not ok and not timed_out:
            ok = True

            pos = Vect2d(
                random.randrange(Creature.BASE_RADIUS * 2,
                                 cls.size.x - Creature.BASE_RADIUS * 2),
                random.randrange(Creature.BASE_RADIUS * 2,
                                 cls.size.y - Creature.BASE_RADIUS * 2))

            for k in cls.creatures.keys():
                creatures_list = cls.creatures[k]

                for creature in creatures_list:
                    if Vect2d.dist(pos, creature.pos) < (Creature.BASE_RADIUS +
                                                         creature.radius) * 2:
                        ok = False

            if compt == 10:
                timed_out = True

            compt += 1

        if not timed_out:
            enemy_id = cls.generateId()

            if cls.all_usernames is None:
                size = random.randint(3, 5)
                name = cls.generateNewName(size)
            else:
                name = cls.all_usernames[random.randrange(
                    len(cls.all_usernames))]

            enemy = Enemy(pos, name, Color.randomColor(), enemy_id)

            cls.creatures[enemy_id] = [enemy]