Opened 4 years ago

Closed 4 years ago

#700 closed ожидаются исправления (задача сдана)

HW #2

Reported by: sunko.elena Owned by: sunko.elena
Component: HW #2 (X0) Version: 2.0
Keywords: Cc:

Description


Change History (6)

comment:1 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to sunko.elena
Type: ожидается проверкаожидаются исправления

Не работает победа при размещении по диагонали -- программа зацикливается, ожидая новые ходы.

O move:
(какой-то ход, заполняющий диагональ) 
..........
.....X....
...X......
..O...X...
...O...X..
....O.....
.....O.X..
......O...
.......O..
..........

Программа, запускающая тесты, всегда возвращает 0. А должна что-то другое, если хотя бы один тест упал.

Board(int size = 3, int number = 3);
Второй параметр лучше переименовать, чтоб было понятно, что это длина победной комбинации.

Player Board::winner() {
    static bool principalDiagonal;
    static bool secondaryDiagonal;
    static bool vertical;
    static bool horizontal;

Неконстантные статические локальные переменные лучше никогда не делать.

std::cin >> x >> y;
if (std::cin.good())
    return true;

Два числа, разбитые переводом строки, будут восприниматься как корректный ход.


5 + 7 + 0

comment:2 Changed 4 years ago by sunko.elena

В описании правил игры написано, что целью является выставить 5 своих знаков в ряд на любой из двух диагоналей, разве не подразумеваются главная и побочная? Просто в примере эта диагональ главной не является, то есть он же и не должен выводить победу 0

comment:3 Changed 4 years ago by sunko.elena

Owner: changed from sunko.elena to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:4 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to sunko.elena

Ход 0-0 воспринимается как валидный

Довольно сложную логику с определением текущего состояния поля можно успростить, сделав функцию, проверяющую N клеток в заданном направлении относительно начальной точки.

Не очень понятно, почему функция, которая должна распарсить int из стррки, называется incorrectArgument.
Попробуйте сделать чтение проще: getline + istringstream + чтение двух строк.


17 + 7.5 + 0

comment:5 Changed 4 years ago by Дмитрий Свиридкин

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

comment:6 Changed 4 years ago by Дмитрий Свиридкин

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.