Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Архитектура Roguelike #1

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Архитектура Roguelike #1

wants to merge 4 commits into from

Conversation

bachish
Copy link
Collaborator

@bachish bachish commented Apr 8, 2023

Представлены:

  • Концепция игры
  • Основная логика игры
  • Общие сведения о системе
  • Диаграммы классов и компонентов

Copy link

@uncerso uncerso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Так-с. Как вы умудрились полностью потерять структуру документа. В задании явно написано, какие пункты должны быть написаны. А в презентации и особенно конспекте про каждый пункт расписано, что он из себе представляет и что туда писать (см. в конспекте 3.2. IEEE 1016-2009, структура документа).

Ещё много всяких частей документа в принципе потеряно.
В частности большие проблемы с общими сведениями о системе, с architectural drivers, даже намёка нет у "роли и случаи использования" и "диаграммы последовательностей и конечных автоматов".

А ещё у диаграмм нет текстового описания (а хочется и в задании про это сказано).

И про карту тоже надо подробнее. То, что она генерируется, это, конечно, хорошо, но как она генерируется? Про загрузку и сохранения тоже надо бы написать.

Comment on lines +86 to +87
Таким образом игрок может путем проб и ошибок узнать какие мобы опасные, а какие не очень. И это знание с ним сохранится
до конца сессии. Но при начале новой сессии все поменяется.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тяжко в такое, конечно, будет играть. На каждой новой сессии проверять лицом больновато будет, и долго (пока заживёт, а с низким уровнем hp лезть на новых непонятных мобов как-то слишком опасненько). Ну да ладно.


## Judge
Получает юнита, его следующее действие и карту и определяет как фактически измениться его состояние.
Если произошел контакт между игроком и мобом, то `Judge` консультируется c Боевой системой (`CombatSystem`) и изменяет текущее здоровье у игрока и моба.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А если не произошёл?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

То боя не происходит и CombatSystem не вызывается

# Диаграммы
Документы с uml-диаграммами доступны в папке src и по [ссылке](https://drive.google.com/file/d/1-Kyv6zulRddlxvYu2PO-sJDKGJtXorRm/view?usp=sharing) на diagrams.net
## Диаграмма компонентов
![](/img/component_diagram.jpg)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Компоненты и подсистемы обозначаются иначе.
Ещё хорошо бы явно рисовать порты, но да ладно.

![](/img/component_diagram.jpg)

## Диаграмма классов
![](/img/class_diagram.jpg)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Интересно, как так получается, что есть независимые какие-то сущности. Например, картой никто не пользуется, а вроде как должны.

Ещё несколько странно, что есть что-то вне подсистем. В частности, клетки-стены-пол-... это ведь часть игровой логики (или чего-то похожего, ибо map у вас тоже в воздухе висит), а Drawable -- лишь интерфейс, по которому с ними взаимодействует ui.

Ещё dependency стрелочки хотелось бы с подписями видеть.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants