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

Оцените код "Змейки" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сравнивает ли значения функция srtcmp, если они введены русскими буквами? http://www.cyberforum.ru/cpp-beginners/thread1242982.html
Сравнивает ли значения функция srtcmp,если они введены русскими буквами?
C++ Пользователь ввел три целых числа, расположить эти числа в порядке убывания #include<iostream.h> main() { int a,b,c,max,min,aver; cout<<"enter a "; cin>>a; cout<<"enter b "; cin>>b; cout<<"enter c "; cin>>c; http://www.cyberforum.ru/cpp-beginners/thread1242976.html
Зашифровать картинку или любой другой файл XOR шифрованием C++
Привет. Мне нужно зашифровать картинку, или любой другой файл XOR шифрованием. Как сделать текст я знаю, но вот как картинку? Открывать же ее в бинарном виде? Подскажите пжл. Спасибо.
"Или" в регулярном выражении C++
Пусть есть регулярное выражение вида "expression1|expression2|expression3|expression4" сравнивающее текст с четырьмя различными вариантами. Как в std::regex/boost::regex вытрясти из регулярного выражения какой именно вариант совпал? Единственное что приходит в голову - написать "(expression1)|(expression2)|(expression3)|(expression4)" и перебирать match.matched, match.matched... до победного...
C++ Неполадка с default в switch-case - вывод срабатывает дважды http://www.cyberforum.ru/cpp-beginners/thread1242969.html
Здравствуйте! Такая вот ерундовая проблема, но хотелось бы узнать почему происходит именно так =) Есть функция, проверяющая корректность ввода уравнения. Если уравнение не соответствует шаблону, программа об этом сообщает и просит ввести его заново. И все отлично работает, но в блоке default есть два cout и они срабатывают дважды. Почему такое происходит? вот код: // Uravnenie.cpp:...
C++ Объявление целых типов с буквой - что означает эта буква? Всем здрасти! Объясните пожалуйста, что значит следующее объявление: int a = 4000u; В чем разница от обычного объявления? Что это за идентификатор u? подробнее

Показать сообщение отдельно
Aspirin
29 / 6 / 0
Регистрация: 05.10.2012
Сообщений: 117
15.08.2014, 18:34  [ТС]     Оцените код "Змейки"
Есть ещё такая проблема: в классе Food метод spawn
C++
1
2
3
4
5
6
7
8
9
10
11
void Food::spawn()
{
    srand(time(NULL));
    x = (rand() % n)*size_cell;
    y = (rand() % m)*size_cell;
    for (int i = 0; i < snake.getSize(); i++)
    {
        if ((snake.block[i].x == x) && (snake.block[i].y == y))
            spawn();
    }
}
Во время работы приложения, если сгенерированные координаты еды попадают на координаты тела змейки, то гененрируем новые. Приложение в этом случае валится,я не знаю почему. Когда искал в чем дело, добавил cout
C++
1
2
3
4
 if ((snake.block[i].x == x) && (snake.block[i].y == y)){
           cout << "Еда попала на змейку" << endl;
            spawn();
}
И заметил, что в этом случае приложение не валится, в случае если рекурсия была глубокая, приложение просто ждало пока выведет всю инфу в консоль через cout и продолжало работать. В чем может быть причина?
 
Текущее время: 08:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru