
Сообщение от
_Eldar_
вот код (принимаю критику):

Сообщение от
_Eldar_
C++ |
1
2
3
| for(int i = 0; i < 16; ++i)
if (i < 15) arr.push_back(i + 1);
else arr.push_back(-1); |
|
Хм...

Сообщение от
_Eldar_
C++ |
1
2
3
4
| while(!game_field.Validate_End()){
game_field.Show();
game_field.Move();
} |
|
1) Где в программе комментарий, что надо именно так использовать данный класс(т.е. вызывать методы в таком порядке)?
2) Зачем вообще этому всему быть открытым?

Сообщение от
_Eldar_
C++ |
1
| int num_X; // индекс пустого элемента (-1) |
|
Вместо этого комментария лучше бы здесь было имя переменной говорящее само за себя.

Сообщение от
_Eldar_
C++ |
1
| std::vector<int> arr; // Игровое поле |
|
То же самое насчёт имени и комментария + не вижу никакого смысла в использовании вектора в данной программе.

Сообщение от
_Eldar_
C++ |
1
2
3
| int temp = arr[num_field];
arr[num_field] = arr[num_X];
arr[num_X] = temp; |
|
Используй std::swap вместо этого.
Плюс ко всему в коде куча "магических чисел"(15,16,4).
P.S. Лично я бы не стал использовать ООП для написания Пятнашек