такой проблемой:
Иногда вылетает с ошибкой нарушение прав доступа при чтении по адресу и змейка иногда может выходить за пределы консоли, даже в отрицательные координаты. В чем может быть проблема?
https://pastebin.com/Ghr2n891
А не лучше все методы и переменные в класс засунуть и инициализировать его?
Еще не проходил Классы
Как минимум проблема в том что ты забыл что у массива field первые квадратные скобочки это координата Y а вторые X Должно быть так : field[apple_y][apple_x] = food; if (SnakeArr[0].x == apple_y && SnakeArr[0].y == apple_x)
bool Snake_in_field(SnakeBlock** inputSnake, char*** field, int len) { for (int i = 0; i < len; i++) { int& x = (*inputSnake)[i].x; int& y = (*inputSnake)[i].y; if (!(x < 0 || y < 0)) { // Добавить логику ограничения по максимальному значению (*field)[x][y] = (*inputSnake)[i].type; } else { return false; } } return true; } Сама ошибка из-за того что координата y принимает значение -1, надо ограничивать
Обсуждают сегодня