при запуске любой простейшей проги, скомпилированной и собранной с ключиком -g в дебаггере выдаёт примерно следующее:
Failed to read a valid object file image from memory.
это нормально, или не очень? Эта ошибка всё время в anjuta выскакивает. Такое ощущение, что дебагер вообще не работает. В принципе без разницЫ, через anjuta-ide или с консоли я его запускаю...
Вот и добрался я до 2го курса... и тут на меня обрушилась "компьютерная графика".
Знания в программировании графических приложений нулевые. За 3 недели постановили написать игру следующего типа:
"Аркадная игра. Имеется лабиринт, содержащий препятствия, неподвижные призы и перемещающихся охотников различных типов."
Спросил, можно ли под Линукс. Ответили что можно. С самим алгоритмом вроде сложностей не возникает, вот мои рассуждения:
Матрицей задаётся поле, состоящее из квадратиков - спрайтов. Соответственно если 0 в элементе массива - то клетка свободна, 1, 2, 3, и так далее - разные ландшафты, препятствия. Положение человечка точно так же задаётся элементом матрицы. Реакция на клавиши с проверкой на условие попадания на опеределённую порверхность (можно пройти, нельзя пройти, случилась беда). Аналогично всякие бонусы, монстрики. Искусственный интеллект у них можно и реализровать, а можно и не реализовывать и для начала хотя бы рандомное движение запустить. Всяческие условия иного рода - дело наживное.
Собственно я не знаю, какие существуют графические библотеки для поставленной задачи и как их использовать. Сам интерфейс можно и на gtk+ , но ведь наверняка нужно чтото дополнительное для вывода спрайтов...
Как сделать нормальную генерацию квазислучайных чисел?
Использую следующий код:
// Заполняет матрицу квазислучайными числами в диапазоне от 1 до MAXVAL
void RandomMatr(double (*Matr)[STRLEN], int n) {
int i,j;
time_t t;
srand((unsigned)time(&t));
for(i=0;i<n;i++)
for(j=0; j<n; j++)
Matr[i][j]= rand()%MAXVAL+1;
}
Вызывается 2 раза для разных матриц. И в обоих получаются ОДИНАКОВЫЕ
числа. Видимо, потому что time() выдаёт время в секундах, а не в
милисекундах, а оно достаточно мало. Если не использовать srand() то
вообще всегда получаются одни и те же числа. Посоветуйте чего нибудь,
чтоли....