Initial commit
This commit is contained in:
176
мусор.md
Normal file
176
мусор.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# CRC карточки проекта DeliverySystem
|
||||
|
||||
|
||||
<style>
|
||||
table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
|
||||
th, td { border: 1px solid #ddd; padding: 8px; }
|
||||
th[colspan="2"] { background-color: #333; color: white; }
|
||||
</style>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">GameEngine</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Управление игровым процессом и бизнес-логикой.<br>
|
||||
2. Обработка команд игрока: движение по компасным направлениям.<br>
|
||||
3. Взаимодействие с объектами в комнате (открытие, отпирание контейнеров).<br>
|
||||
4. Связывание действий UI с изменениями состояния моделей.<br>
|
||||
5. Оповещение слушателей об игровых событиях и изменениях состояния.
|
||||
</td>
|
||||
<td valign="top">
|
||||
Player<br>
|
||||
Room<br>
|
||||
Direction<br>
|
||||
Container<br>
|
||||
Key<br>
|
||||
Door
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">MapSerializer</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Сохранение графа комнат в JSON-файл.<br>
|
||||
2. Загрузка графа из JSON-файла обратно в игровые объекты.<br>
|
||||
3. Валидация связей между дверьми при загрузке.<br>
|
||||
4. Конвертация игровых объектов в DTO и обратно.
|
||||
</td>
|
||||
<td valign="top">
|
||||
Room<br>
|
||||
Door<br>
|
||||
Container<br>
|
||||
Key<br>
|
||||
DTO-модели (MapDTO, RoomDTO, DoorDTO, ItemDTO)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">Player</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Хранение инвентаря (рюкзака) с предметами.<br>
|
||||
2. Запоминание текущей комнаты.<br>
|
||||
3. Добавление и удаление предметов из рюкзака.<br>
|
||||
4. Поиск ключа по идентификатору в рюкзаке.
|
||||
</td>
|
||||
<td valign="top">
|
||||
Room<br>
|
||||
IItem<br>
|
||||
Key
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">Room</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Хранение описания окружения.<br>
|
||||
2. Хранение словаря дверей по направлениям.<br>
|
||||
3. Хранение списка интерактивных объектов внутри комнаты.<br>
|
||||
4. Формирование полного текстового описания комнаты для игрока.
|
||||
</td>
|
||||
<td valign="top">
|
||||
Door<br>
|
||||
Direction<br>
|
||||
GameObject
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">Door</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Предоставление логического перехода в другую комнату.<br>
|
||||
2. Блокировка прохода, если дверь заперта.<br>
|
||||
3. Проверка переданного ключа на соответствие RequiredKeyId.<br>
|
||||
4. Открывание и запирание замка по подходящему ключу.
|
||||
</td>
|
||||
<td valign="top">
|
||||
Room<br>
|
||||
Key<br>
|
||||
ILockable
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">Container (Chest, Wardrobe)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Хранение списка предметов IItem внутри себя.<br>
|
||||
2. Поддержка внутреннего состояния: открыт / закрыт.<br>
|
||||
3. Поддержка состояния замка: заперт / отперт.<br>
|
||||
4. Разрешение открытия только при отсутствии замка или наличии верного ключа.<br>
|
||||
5. Управление содержимым: добавление и извлечение предметов.
|
||||
</td>
|
||||
<td valign="top">
|
||||
GameObject<br>
|
||||
ILockable<br>
|
||||
IItem<br>
|
||||
Key
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" align="center" style="font-size: 1.2em;">Key</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">Обязанности</th>
|
||||
<th width="50%">Взаимодействия</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
1. Представление предмета, который можно поднять с пола.<br>
|
||||
2. Хранение уникального идентификатора для отпирания замков.<br>
|
||||
3. Предоставление идентификатора дверям и контейнерам для проверки.
|
||||
</td>
|
||||
<td valign="top">
|
||||
GameObject<br>
|
||||
IItem
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user