Opened 4 years ago
Closed 4 years ago
#716 closed ожидается проверка (задача сдана)
HW #2
Reported by: | Бубнов Данил Константинович | Owned by: | Дмитрий Свиридкин |
---|---|---|---|
Component: | HW #2 (X0) | Version: | 3.0 |
Keywords: | Cc: |
Description
Change History (5)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Бубнов Данил Константинович |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Owner: | changed from Бубнов Данил Константинович to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
comment:3 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Бубнов Данил Константинович |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Обработка победы ходом, заполняющим последнюю пустую клетку, не работает.
0 0a
воспринимается валидным ходом забыли проверить состояние потока
Режим silent стоит сделать параметром конкретного view, а не контроллера. А то у вас потенциально может получиться silent ncurses. И ввод, скорее всего, не будет работать.
16 + 8 + 10
comment:4 Changed 4 years ago by
Owner: | changed from Бубнов Данил Константинович to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 2.0 → 3.0 |
Note: See
TracTickets for help on using
tickets.
После неверного хода не нужно повторно выводить поле.
Draw -> Draw. (у вас отсутсвует точка)
Память подтекает
Два числа, разделенные переносом строки, у вас воспринимаются валидным ходом.
Используйте getline и istringstream
Программа, запускающая тесты, должна возвращать ненулевой код, если что-то упало. У вас всегда ноль.
Board(int h ,int w, int tw);
Параметры стоит переименовать, чтоб было понятно, что они означают. Особенно третий.
virtual std::pair<int, int> getTurn() const = 0;
Использовать std::pair в публичных интерфейсах не стоит. Очень часто не понятно, что имеется в виду. Лучше сделать собственную структуру на два поля и дать ей (и полям) подходящее ясное название.
Чтобы пользование вашим кодом не превращалось в "эффективный STL" с его восхитительными конструкциями
return map.insert({x, y}).first->second
Пустой файл BoardTest?, если он вам не нужен, лучше удалить.
Огромную функцию, проверяющую текущее состояние можно разбить на несколько.
Еще ее можно переписать, объединив логику проверки каждого направления в функцию, принимающую начальную точку и направление сдвига.
Аргумент if можно просто поставить в return
У вас есть оператор вывода в поток для Player, но в printBoard скопирован его код вместо вызова.
Статическое поле exit_pair вероятно должно быть константным.
12 + 6 + 0