Fix lag when monsters try to move in a random direction
This commit is contained in:
parent
e5886bbe44
commit
da0d7e7055
|
@ -1,7 +1,7 @@
|
||||||
# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse
|
# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
from random import choice
|
from random import shuffle
|
||||||
|
|
||||||
from .player import Player
|
from .player import Player
|
||||||
from ..interfaces import FightingEntity, Map
|
from ..interfaces import FightingEntity, Map
|
||||||
|
@ -49,9 +49,13 @@ class Monster(FightingEntity):
|
||||||
if not moved and self.distance_squared(target) <= 1:
|
if not moved and self.distance_squared(target) <= 1:
|
||||||
self.map.logs.add_message(self.hit(target))
|
self.map.logs.add_message(self.hit(target))
|
||||||
else:
|
else:
|
||||||
for _ in range(100):
|
# Move in a random direction
|
||||||
if choice([self.move_up, self.move_down,
|
# If the direction is not available, try another one
|
||||||
self.move_left, self.move_right])():
|
moves = [self.move_up, self.move_down,
|
||||||
|
self.move_left, self.move_right]
|
||||||
|
shuffle(moves)
|
||||||
|
for move in moves:
|
||||||
|
if move():
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue