Rename the Map's Point question methods to use "point" instead of "tile"
This commit is contained in:
parent
7ee790e25e
commit
eda44a8792
4 changed files with 12 additions and 13 deletions
|
@ -71,8 +71,8 @@ class BumpAction(MoveAction):
|
|||
def perform(self, engine: 'Engine') -> ActionResult:
|
||||
new_position = self.actor.position + self.direction
|
||||
|
||||
position_is_in_bounds = engine.map.tile_is_in_bounds(new_position)
|
||||
position_is_walkable = engine.map.tile_is_walkable(new_position)
|
||||
position_is_in_bounds = engine.map.point_is_in_bounds(new_position)
|
||||
position_is_walkable = engine.map.point_is_walkable(new_position)
|
||||
|
||||
for ent in engine.entities:
|
||||
if new_position != ent.position or not ent.blocks_movement:
|
||||
|
|
|
@ -78,10 +78,10 @@ class HostileEnemy(AI):
|
|||
new_position = self.entity.position + direction
|
||||
overlaps_existing_entity = any(new_position == ent.position for ent in engine.entities)
|
||||
try:
|
||||
tile_is_walkable = engine.map.tile_is_walkable(new_position)
|
||||
point_is_walkable = engine.map.point_is_walkable(new_position)
|
||||
except ValueError:
|
||||
tile_is_walkable = False
|
||||
if not overlaps_existing_entity and tile_is_walkable:
|
||||
point_is_walkable = False
|
||||
if not overlaps_existing_entity and point_is_walkable:
|
||||
if engine.map.visible[tuple(self.entity.position)]:
|
||||
log.AI.info('Hero is NOT visible to %s, bumping %s randomly', self.entity, direction)
|
||||
action = BumpAction(self.entity, direction)
|
||||
|
|
|
@ -17,13 +17,13 @@ from .events import EngineEventHandler, GameOverEventHandler
|
|||
from .map import Map
|
||||
from .map.generator import RoomsAndCorridorsGenerator
|
||||
from .map.generator.cellular_atomata import CellularAtomataMapGenerator
|
||||
from .map.generator.corridor import ElbowCorridorGenerator
|
||||
from .map.generator.room import (
|
||||
BSPRectMethod,
|
||||
CellularAtomatonRoomMethod,
|
||||
OrRoomMethod,
|
||||
RoomGenerator,
|
||||
RectangularRoomMethod)
|
||||
from .map.generator.corridor import ElbowCorridorGenerator
|
||||
from .messages import MessageLog
|
||||
from .object import Actor, Entity, Hero, Monster
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ import random
|
|||
from typing import Iterable
|
||||
|
||||
import numpy as np
|
||||
import numpy.typing as npt
|
||||
import tcod
|
||||
|
||||
from ..configuration import Configuration
|
||||
|
@ -82,25 +81,25 @@ class Map:
|
|||
self.tiles.shape) if self.tiles[x, y]['walkable']]
|
||||
return random.choice(self.__walkable_points)
|
||||
|
||||
def tile_is_in_bounds(self, point: Point) -> bool:
|
||||
def point_is_in_bounds(self, point: Point) -> bool:
|
||||
'''Return True if the given point is inside the bounds of the map'''
|
||||
return 0 <= point.x < self.size.width and 0 <= point.y < self.size.height
|
||||
|
||||
def tile_is_walkable(self, point: Point) -> bool:
|
||||
def point_is_walkable(self, point: Point) -> bool:
|
||||
'''Return True if the tile at the given point is walkable'''
|
||||
if not self.tile_is_in_bounds(point):
|
||||
if not self.point_is_in_bounds(point):
|
||||
raise ValueError(f'Point {point!s} is not in bounds')
|
||||
return self.tiles[point.numpy_index]['walkable']
|
||||
|
||||
def point_is_visible(self, point: Point) -> bool:
|
||||
'''Return True if the point is visible to the player'''
|
||||
if not self.tile_is_in_bounds(point):
|
||||
if not self.point_is_in_bounds(point):
|
||||
raise ValueError(f'Point {point!s} is not in bounds')
|
||||
return self.visible[point.numpy_index]
|
||||
|
||||
def point_is_explored(self, point: Point) -> bool:
|
||||
'''Return True if the tile at the given point has been explored by the player'''
|
||||
if not self.tile_is_in_bounds(point):
|
||||
if not self.point_is_in_bounds(point):
|
||||
raise ValueError(f'Point {point!s} is not in bounds')
|
||||
return self.explored[point.numpy_index]
|
||||
|
||||
|
@ -109,7 +108,7 @@ class Map:
|
|||
self.highlighted.fill(False)
|
||||
|
||||
for pt in points:
|
||||
self.highlighted[pt.x, pt.y] = True
|
||||
self.highlighted[pt.numpy_index] = True
|
||||
|
||||
def find_walkable_path_from_point_to_point(self, point_a: Point, point_b: Point) -> Iterable[Point]:
|
||||
'''
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue