Opened 4 years ago

Closed 4 years ago

#715 closed ожидается проверка (задача сдана)

HW #2 (X0)

Reported by: Gleb Marin Owned by: Sokolov Viacheslav
Component: HW #2 (X0) Version: 2.0
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 4 years ago by Дмитрий Лапшин (lapshin)

Owner: changed from Evgeny Linsky to Sokolov Viacheslav
Status: newassigned

Назначай на своего практика, а то теряется и не проверяется.

comment:2 Changed 4 years ago by Sokolov Viacheslav

Version: 1.0

comment:3 Changed 4 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

O move: XXXX......
OOOOO.....

не хватает перевода строки

По -1 -1 игра не останавливается

NcursesBoardActivity? не final

Желательно разделять классы по файлам: 1 класс - 1 файл. Сейчас каша и непонятно, где какой класс искать.

посмотрите на std::make_unique

Зачем нужен Activity пока не понял. Как я уже писал, предполагается следующая структура:

main - создается Board, View, Controller

Board - 1 класс в иерархии
View - 2 разных экземпляра интерфейса
Controller - 1 класс в иерархии

controller знает про board, view
view знает про board

после создания классов зовется что-нибудь вроде

controller.gameCycle();

ответственность классов:
controller - звать методы view, на основании состояния поля принимать решения об остановке или продолжении игры (контролирует ход игры)
view - никак не влияет на состояние доски, ответственность - взаимодействие с пользователем (отображение для пользователя)
board - состояние доски

разбиение ответственности позволяет хорошо декомпозировать программу и уйти от дублирования кода

какую цель преследует Activity я пока не понял, зачем их несколько и какую выгоду несет этот интерфейс - тоже

Тесты отрисовываются красиво, к curses интерфейсу с точки зрения пользователя вопросов нет

считывание в случае stdio происходит неправильно:
1)
ввод

0

1
будет обработан не так, как просят в условии
2)
ввод
0-0x
будет обработан не так, как просят в условии

comment:4 Changed 4 years ago by Gleb Marin

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:5 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed

Поле выводится отраженным.

После (-1, -1) не нужно печатать поле, а в остальных случаях окончания игры - нужно.
Вместо предложенной простой архитектуры реализована какая-то своя, и в ней поправить вот эту мелочь - нетривиальная задача.
Текущая иерархия переусложненная, у классов нет четкой ответственности, View знает про Controller, хотя не должен. Зачем нужен Activity - я так и не понял. В реализованном варианте кода раза в 4 больше, чем могло бы быть, отношения между сущностями запутанные, как следствие - его тяжело менять, вносить конкретные изменения.

0-0 считается корректным ходом, но таковым не является

08 008
считается некорректным ходом, но валиден по условию
Если победа происходит последним ходом - неверно регистрируется ничья.

Note: See TracTickets for help on using tickets.