edit README.md
This commit is contained in:
parent
e60f2f73ed
commit
6b8e38ac0e
21
README.md
21
README.md
@ -35,3 +35,24 @@ _Так как на se.ifmo сбросились варианты я взял т
|
||||
```
|
||||
|
||||
## Структура проекта
|
||||
```mermaid
|
||||
graph TD;
|
||||
Entity-->Character;
|
||||
Character-->FenBok;
|
||||
Character-->Karlson;
|
||||
Entity-->Item;
|
||||
Item-->Container;
|
||||
```
|
||||
Главный абстрактный класс - Entity, который имеет только имя. От него наследуются предметы и персонажи.
|
||||
Персонажи могут чувствовать *(IFeelabe)*, двигаться *(IMovable)* и брать вещи *(ITakeable)*.
|
||||
Также персонажи имеют гендер *(enum Feels)*.
|
||||
|
||||
За историю отвечает класс *StoryTeller*. Он меняет состояние персонажей и отображает их состояние.
|
||||
|
||||
## Особенности 4 лабы
|
||||
Есть два исключения: `OwnershipException` и `ExitFuelException`. `OwnershipException` - исключение при взятии чужой вещи.
|
||||
`ExitFuelException` возникает, когда у Карлсона кончается топливо.
|
||||
|
||||
Есть вложенный статический класс `Engin` у Карлсона, отвечающий за его движок. В нём есть локальный класс `Path`, хранящий
|
||||
в себе дистанцию полёта и формулу расчёта расхода. Для формулы используются анонимные классы интерфейса `IntFormula`.
|
||||
Есть вложенный не статический класс `Mouth` у Малыша, который отвечает за его речь.
|
||||
Loading…
Reference in New Issue
Block a user