Linting
This commit is contained in:
parent
e1918ab066
commit
0394c5d15d
|
@ -54,31 +54,32 @@ class Sunflower(FriendlyEntity):
|
|||
"""
|
||||
return [_("Flower power!!"), _("The sun is warm today")]
|
||||
|
||||
|
||||
class Familiar(FightingEntity):
|
||||
"""
|
||||
A friendly familiar that helps the player defeat monsters.
|
||||
"""
|
||||
def __init__(self, maxhealth: int = 25,
|
||||
def __init__(self, maxhealth: int = 25,
|
||||
*args, **kwargs) -> None:
|
||||
super().__init__(*args, **kwargs)
|
||||
super().__init__(maxhealth=maxhealth, *args, **kwargs)
|
||||
self.target = None
|
||||
def act(self, p: Player, m : Map) :
|
||||
|
||||
def act(self, p: Player, m: Map) -> None:
|
||||
"""
|
||||
By default, the familiar tries to stay at distance at most 2 of the
|
||||
player and if a monster comes in range 3, it focuses on the monster
|
||||
and attacks it.
|
||||
"""
|
||||
if self.target == None:
|
||||
if self.target is None:
|
||||
self.target = p
|
||||
if self.target == p:
|
||||
for entity in m.entities:
|
||||
if (self.y - entity.y) ** 2 + (self.x - entity.x) ** 2 <= 9 and \
|
||||
if (self.y - entity.y) ** 2 + (self.x - entity.x) ** 2 <= 9 and\
|
||||
isinstance(entity, Monster):
|
||||
self.target = entity
|
||||
entity.paths = dict() #Allows the paths to be calculated.
|
||||
entity.paths = dict() # Allows the paths to be calculated.
|
||||
break
|
||||
|
||||
|
||||
|
||||
# Familiars move according to a Dijkstra algorithm
|
||||
# that targets their target.
|
||||
# If they can not move and are already close to their target,
|
||||
|
@ -90,9 +91,9 @@ class Familiar(FightingEntity):
|
|||
if moved:
|
||||
break
|
||||
if self.distance_squared(self.target) <= 1 and \
|
||||
not isinstance(self.target, Player):
|
||||
not isinstance(self.target, Player):
|
||||
self.map.logs.add_message(self.hit(self.target))
|
||||
if self.target.dead :
|
||||
if self.target.dead:
|
||||
self.target.paths = None
|
||||
self.target = None
|
||||
break
|
||||
|
@ -106,7 +107,8 @@ class Familiar(FightingEntity):
|
|||
if move():
|
||||
break
|
||||
|
||||
class Trumpet(Familiar) :
|
||||
|
||||
class Trumpet(Familiar):
|
||||
"""
|
||||
A class of familiars.
|
||||
"""
|
||||
|
|
|
@ -60,13 +60,15 @@ class Monster(FightingEntity):
|
|||
for move in moves:
|
||||
if move():
|
||||
break
|
||||
def move(self, y: int, x:int) -> None:
|
||||
|
||||
def move(self, y: int, x: int) -> None:
|
||||
"""
|
||||
Overwrites the move function to recalculate paths.
|
||||
"""
|
||||
super().move(y, x)
|
||||
self.recalculate_paths()
|
||||
|
||||
|
||||
class Tiger(Monster):
|
||||
"""
|
||||
A tiger monster.
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from random import randint
|
||||
from typing import Dict, Tuple
|
||||
|
||||
from ..interfaces import FightingEntity, InventoryHolder
|
||||
|
||||
|
|
|
@ -63,9 +63,9 @@ class Map:
|
|||
"""
|
||||
Registers a new entity in the map.
|
||||
"""
|
||||
if entity.is_familiar() :
|
||||
self.entities.insert(1,entity)
|
||||
else :
|
||||
if entity.is_familiar():
|
||||
self.entities.insert(1, entity)
|
||||
else:
|
||||
self.entities.append(entity)
|
||||
entity.map = self
|
||||
|
||||
|
@ -100,7 +100,8 @@ class Map:
|
|||
@staticmethod
|
||||
def load(filename: str) -> "Map":
|
||||
"""
|
||||
Reads a file that contains the content of a map, and builds a Map object.
|
||||
Reads a file that contains the content of a map,
|
||||
and builds a Map object.
|
||||
"""
|
||||
with open(filename, "r") as f:
|
||||
file = f.read()
|
||||
|
@ -162,7 +163,7 @@ class Map:
|
|||
for entity in self.entities:
|
||||
if entity.is_familiar():
|
||||
entity.act(p, self)
|
||||
else :
|
||||
else:
|
||||
entity.act(self)
|
||||
|
||||
def save_state(self) -> dict:
|
||||
|
@ -307,7 +308,7 @@ class Entity:
|
|||
Uses Dijkstra algorithm to calculate best paths for other entities to
|
||||
go to this entity. If self.paths is None, does nothing.
|
||||
"""
|
||||
if self.paths == None :
|
||||
if self.paths is None:
|
||||
return
|
||||
distances = []
|
||||
predecessors = []
|
||||
|
@ -352,7 +353,7 @@ class Entity:
|
|||
self.paths[(y, x)] = [p for d, p in sorted(
|
||||
[(distances[i][(y, x)], predecessors[i][(y, x)])
|
||||
for i in range(len(distances)) if (y, x) in predecessors[i]])]
|
||||
|
||||
|
||||
def act(self, m: Map) -> None:
|
||||
"""
|
||||
Defines the action the entity will do at each tick.
|
||||
|
@ -422,7 +423,7 @@ class Entity:
|
|||
from squirrelbattle.entities.monsters import Tiger, Hedgehog, \
|
||||
Rabbit, TeddyBear
|
||||
from squirrelbattle.entities.friendly import Merchant, Sunflower, \
|
||||
Trumpet
|
||||
Trumpet
|
||||
return [BodySnatchPotion, Bomb, Heart, Hedgehog, Rabbit, TeddyBear,
|
||||
Sunflower, Tiger, Merchant, Trumpet]
|
||||
|
||||
|
|
|
@ -13,7 +13,8 @@ from .translations import gettext as _
|
|||
class Settings:
|
||||
"""
|
||||
This class stores the settings of the game.
|
||||
Settings can be obtained by using for example settings.TEXTURE_PACK directly.
|
||||
Settings can be obtained by using for example settings.TEXTURE_PACK
|
||||
directly.
|
||||
The comment can be obtained by using settings.get_comment('TEXTURE_PACK').
|
||||
We can set the setting by simply using settings.TEXTURE_PACK = 'new_key'
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue