[2] Обновление docstring классов в файле models/base.py и пути в документации
This commit is contained in:
parent
5525af0b26
commit
c096613e08
|
|
@ -1,9 +1,9 @@
|
|||
# API Reference
|
||||
|
||||
## Модуль `models.map`
|
||||
## Модуль `models.base`
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: models.map
|
||||
.. automodule:: models.base
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
|
@ -38,6 +38,39 @@ class Cell:
|
|||
"""
|
||||
return not self.is_wall
|
||||
|
||||
@property
|
||||
def is_wall(self):
|
||||
return self._is_wall
|
||||
|
||||
@property
|
||||
def is_start(self):
|
||||
return self._is_start
|
||||
|
||||
@property
|
||||
def is_exit(self):
|
||||
return self._is_exit
|
||||
|
||||
def _clear_flags(self) -> None:
|
||||
"""Обнуляет все флаги поля"""
|
||||
self._is_start = False
|
||||
self._is_exit = False
|
||||
self._is_wall = False
|
||||
|
||||
@is_wall.setter
|
||||
def is_wall(self, value: bool) -> None:
|
||||
self._clear_flags()
|
||||
self._is_wall = True
|
||||
|
||||
@is_start.setter
|
||||
def is_start(self, value: bool) -> None:
|
||||
self._clear_flags()
|
||||
self._is_start = True
|
||||
|
||||
@is_exit.setter
|
||||
def is_exit(self, value: bool) -> None:
|
||||
self._clear_flags()
|
||||
self._is_exit = True
|
||||
|
||||
def __str__(self) -> str:
|
||||
if self._is_wall:
|
||||
type_cell = "Стена"
|
||||
|
|
@ -66,14 +99,48 @@ class Maze:
|
|||
]
|
||||
|
||||
def _check_point_in_map(self, x: int, y: int) -> bool:
|
||||
"""Проверка нахождения точки в границах поля
|
||||
|
||||
Args:
|
||||
x (int): Координата точки в оси X
|
||||
y (int): Координата точки в оси Y
|
||||
|
||||
Returns:
|
||||
bool: True если поля в поле, иначе False
|
||||
"""
|
||||
return (0 <= x < self._width) and (0 <= y < self._height)
|
||||
|
||||
def get_cell(self, x: int, y: int) -> Optional[Cell]:
|
||||
"""Получение значения поля по координате в лабиринте
|
||||
|
||||
Args:
|
||||
x (int): Координата точки в оси X
|
||||
y (int): Координата точки в оси Y
|
||||
|
||||
Returns:
|
||||
Optional[Cell]: Объект поля, при его наличии
|
||||
"""
|
||||
if not self._check_point_in_map(x, y):
|
||||
return None
|
||||
return self._map[y][x]
|
||||
|
||||
def get_neighbors(self, x: int, y: int) -> Optional[list[Cell]]:
|
||||
"""Получение соседних полей относительно заданного поля
|
||||
|
||||
Под соседями поля в лабиринте имеется виду клетки сверху, справа,
|
||||
снизу и слева относительно её. Если точка находится за границами,
|
||||
то будет возвращено `None`
|
||||
|
||||
Args:
|
||||
x (int): Координата точки в оси X
|
||||
y (int): Координата точки в оси Y
|
||||
|
||||
Returns:
|
||||
Optional[list[Cell]]: Список соседних полей
|
||||
"""
|
||||
if not self._check_point_in_map(x, y):
|
||||
return None
|
||||
list()
|
||||
vector_x = [0, 1, 0, -1]
|
||||
vector_y = [1, 0, -1, 0]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user