Форум программистов, компьютерный форум CyberForum.ru

Пишу консольную змейку, крашит при увеличении размера - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти площадь круга по длине окружности http://www.cyberforum.ru/cpp-beginners/thread1492972.html
Вам предоставляется окружность круга. Найти площадь круга. Формат входных данных Ввод содержит положительное вещественное число l (0 <l ≤ 20000) Формат результата Значение должно быть дано с абсолютной или относительной погрешностью не более 10^-6.
C++ Вычислить длину окружности и площадь круга Вычислить длину окружности и площадь, заключенную в круге Формат входных данных Ввод содержит одно число R (0 ≤ R ≤ 10000) - радиус окружности. Формат результата Выход два числа - длина окружности и площадь, ограниченная окружностью радиуса R. Числа должны быть предоставлены с абсолютной или относительной погрешностью не более 10^-6. http://www.cyberforum.ru/cpp-beginners/thread1492937.html
C++ Найти площадь поверхности и объем куба, зная длину его ребра.
Мы знаем длину ребра куба. Найти лицевой области, общую площадь поверхности и объем куба. Формат входных данных Ввод содержит одну положительное целое число (0 <≤ 10000). Формат результата Выходные три целых числа, разделенных пробелами - площадь поверхности, общая площадь поверхности и объем куба. Примеры Входные данные Результат работы
C++ Периметр и площадь прямоугольного треугольника
Длина ног а и б прямоугольного треугольника даны. Найти его периметр и площадь Формат входных данных Ввод содержит два реальных положительных чисел (0 <а≤ 10^5) и В (0 <б ≤ 10^5) - ноги прямоугольного треугольника. Числа разделены одним пробелом. Формат результата Написать на выход два вещественных числа каждая в отдельной строке. Первое число периметр треугольника. Второй номер является...
C++ Поменять местами наибольшие элементы в верхней и нижней половинах матрицы http://www.cyberforum.ru/cpp-beginners/thread1492925.html
В матрице A( n- строк, m- столбцов; n- четное) поменять местами наибольшие элементы в ее верхней и нижней половинах. Для поиска индексов наибольшего элемента в заданной части матрицы использовать подпрограмму. Не получается поменять местами элементы и вывести получившеюся матрицу #include <iostream> #include <cmath> #include <iomanip>
C++ При выводе стека выдает адреса ячеек, а не их содержимое, что не правильно? #include <stdio.h> #include <conio.h> #include <Windows.h> #include <locale.h> struct List{ int data; List*next; }; подробнее

Показать сообщение отдельно
_Valera_
 Аватар для _Valera_
486 / 368 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
04.07.2015, 19:31     Пишу консольную змейку, крашит при увеличении размера
Цитата Сообщение от X-User Посмотреть сообщение
for (int i = 1; i < snake_size; i++)
* * * * Game_Field[coord_x[i]][coord_y[i]] = '@';
тут

Добавлено через 3 минуты
Шаг 1 :

Цитата Сообщение от X-User Посмотреть сообщение
coord_x[0] = 7; coord_y[0] = 5;
в конструкторе присвоили первым элемента массива значения, в остальных мусор.

Шаг 2 :

Цитата Сообщение от X-User Посмотреть сообщение
for (int i = 1; i < snake_size; i++)
* * * * Game_Field[coord_x[i]][coord_y[i]] = '@';
Послали под видом индексов мусор => программа упала.

Добавлено через 5 минут
Цитата Сообщение от X-User Посмотреть сообщение
char Game_Field[100][100],C;
* * int W, H, dir_x, dir_y, snake_size;
Динамический массив в помощь.

Добавлено через 8 минут
Цитата Сообщение от X-User Посмотреть сообщение
void Next_Step ()
{
for (int i = snake_size-1; i >= 1; i--)
* * {
* * * * coord_x[i] = coord_x[i-1];
* * * * coord_y[i] = coord_y[i-1];
* * }
coord_x[0]+=dir_x;* * * coord_y[0]-=dir_y;
Можно не перемещать всю змейку. Затираем хвост, на место головы ставим "тело", а на место куда должна пойти змейка - голову. Ну или сделайте список какой то....



Цитата Сообщение от X-User Посмотреть сообщение
int coord_x[100];
* * int coord_y[10
Сделайте очередь с указателями на ячейку, не экономно, как-то.
 
Текущее время: 18:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru