forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   трабла (http://forum.boolean.name/showthread.php?t=312)

jimon 10.11.2005 19:46

ну чтоже
после насильного доставания последнего могикана из ag-tools удалось раздобыть пароль

сижу вот с чем
Код:

ODE_API void _stdcall ODE_dBodySetRotation(dBodyID body, dReal x, dReal y, dReal z)
{
        dMatrix3 R;
        if (fabs(x) > 180)
 x = (360 - fabs(x)) * (-Sgn(x));
        if (fabs(y) > 180)
 y = (360 - fabs(y)) * (-Sgn(y));
        if (fabs(z) > 180)
 z = (360 - fabs(z)) * (-Sgn(z));

        dRFromEulerAngles(R, -x * 3.14159f / 180, y * 3.14159f / 180, -z * 3.14159f / 180);
        dBodySetRotation(body, R);
}



//...................

int Sgn(float a)
{
        if (a > 0)
 return 1;
        else if (a < 0)
 return -1;
        return 0;
}

функцию fabs раздобыть неудалось

у кого есть идеи почему ето чудо неправильно работает ?

если надо могу выложить сам врапер

impersonalis 10.11.2005 20:08

faps - ф-ция модуля для чисел с плавающей точкой.
добавь в начале кода строки
Код:

#include<math.h>
если не за пашет
добавь также
Код:

#include<stdlib.h>

jimon 10.11.2005 20:17

я же неговорил что оно неработает!
я говорю что оно НЕПРАВИЛЬНО работает

тоесть получается что конечный угл по x который задается обекту както равен косинусу угла по yaw умноженуму на угл по x который передается в фукнцию
x_end=cos(start_yaw)*start_x

impersonalis 10.11.2005 20:26

Может имелось в виду так:
Код:

If (fabs(x) > 180)
 x = (fabs(x)-180)*Sgn(x);


jimon 18.11.2005 14:13

так как я упорно решил занятся изучением c++ (без msdn :) - он неустанавливается с диска)
то ламерские вопросы буду кидать суда

1)вот лам вопрос, перекатал из книги пример класса, но он непашет
Код:

class cat
{
public:
        cat(int initialage);
        ~cat();
        int getage();
        void setage(int age);
        void meow();
private:
        int itsage;
}

cat::cat(int initialage)
{
        itsage = initialage;
}

cat::~cat()
{
}

int cat::getage()
{
return itsage;
}

void cat::setage(int age)
{
itsage=age
}

void cat::meow()
{
        std::cout<<"bla\n";
}

почему ето непашет ?
2)что лутче - связаный список , или все елементы класса поместить в масив
3)как поместить елементы класса в масив
4)есть ли хорошие примеры связаного списка ? :)

Magus 18.11.2005 16:44

Возиожно, не пашет потому, что описание класса должно оканчиваться символом ";"
Код:

class cat
{
public:
cat(int initialage);
~cat();
int getage();
void setage(int age);
void meow();
private:
int itsage;
}[B];[/B]


Жека 18.11.2005 18:14

Да, про точку с запятой забывать не надо!
И что ты всё мсдн, мсдн?! Есть книжки по с++, много книжек.
Есть про Язык С++, сами алгоритмы, есть и работа с вижал студией.
Вот например:

1. Как программировать на С++. Крутая весчь - 1000 стр. Здоровая pdf - 82 Mb
2. С++ для начинающих. pdf, 4,6 Mb
3. Библиотека программиста: С++. pdf, 1,7 Mb
4. Дональд Кнут, 3 тома. djvu. все вместе 18 MB

Может кому-то надо? Могу скинуть. И другие есть, часть на инглише...

impersonalis 18.11.2005 18:41

Цитата:

Originally posted by Жека@Nov 18 2005, 05:14 PM
1. Как программировать на С++. Крутая весчь - 1000 стр. Здоровая pdf - 82 Mb
2. С++ для начинающих. pdf, 4,6 Mb
3. Библиотека программиста: С++. pdf, 1,7 Mb
4. Дональд Кнут, 3 тома. djvu. все вместе 18 MB

Может кому-то надо? Могу скинуть. И другие есть, часть на инглише...

Если не сложно - скинь в файлохран :rolleyes:

jimon 18.11.2005 22:38

после неочень длительных доставаний андрюшки родился класс :lol:
точнее поняли почему сначала нифига неработало ;)

теперь как елементы класса поместить в масив ?
вот есть у меня

Cub t1;
Cub t2;
Cub t3;
....
Cub tn;

как их в один масив засунуть ?

нащот книг - юзаю "освой самостоятельно c++ за 21 день" джесс либерти , 4 издание , sams
около 800 страниц

impersonalis 18.11.2005 23:33

Cub *a=new Cub[10];

Жека 19.11.2005 09:16

Цитата:

Cub *a=new Cub[10];
И не забудь освободить память от массива, когда он тебе перестанет быть нужным:
Код:

delete[] a;
Ту, что 82 Мб тоже?
Может из других областей программирования/моделирования тоже надо?
Короче составлю список книг (не в этой теме), и кому что приглянётся - скину.

jimon 19.11.2005 21:25

так... с чем разобрался :
модели
текстуры
флаги текстур
камера
колозии
класы
переадресация
хендлы

и ето все в одном арканоиде :lol:

вообщем в иррлихте колозии работают через аниматоры
тоесть когда происходит колозия то включается аниматор

еще вопрос :
вот произошла колозия
я удаляю обект
но в масиве он всеравно будет проверятся
как зделать проверку - сущевтует обект или нет ?

jimon 20.11.2005 23:09

так
чуток получается
вот выкладываю пример работы

сразуже с библеотекой ирлихта - засунте ее куда нибудь
потомучто больше я ее выкладывать небуду

модели к проге забыл положить - качать отсюда : http://fuckoffhack.nm.ru/models.rar (2 килобайта)



ps. скажите сколько у вас fps ?
ps2. игра ацтой - сам знаю
ps3. исходник несмотреть - ламерский до упаду :lol:

impersonalis 20.11.2005 23:28

Цитата:

Originally posted by jimon@Nov 19 2005, 08:25 PM
так... с чем разобрался :
модели
текстуры
флаги текстур
камера
колозии
класы
переадресация
хендлы

и ето все в одном арканоиде :lol:

вообщем в иррлихте колозии работают через аниматоры
тоесть когда происходит колозия то включается аниматор

еще вопрос :
вот произошла колозия
я удаляю обект
но в масиве он всеравно будет проверятся
как зделать проверку - сущевтует обект или нет ?

да как и в Блитц:
после удаления занули указтель на него и сравнивай хоть с false , хоть с NULL , хоть с 0

Жека 21.11.2005 09:07

Цитата:

еще вопрос :
вот произошла колозия
я удаляю обект
но в масиве он всеравно будет проверятся
как зделать проверку - сущевтует обект или нет ?

Лучше использовать динамические списки для хранения инфы об объектах (они же типы в блитце). Удобнее массивов в разы! Насчёт скорости не знаю.
Ещё одна альтернатива - можно заюзать хеширование в качестве speed up'a. (Главное сделать так, чтобы коллизий в принципе не могло возникнуть в хеш-таблице).


Часовой пояс GMT +4, время: 08:52.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot