Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dwuwymiarowa tablica dynamiczna obiektów z wywołaniem konstruktora. [C++]

Ostatnio zmodyfikowano 2014-12-26 20:37
Autor Wiadomość
jegor377
Temat założony przez niniejszego użytkownika
Dwuwymiarowa tablica dynamiczna obiektów z wywołaniem konstruktora. [C++]
» 2014-12-26 18:46:35
Witam! Mam problem o tuż, chcę stworzyć dwuwymiarową tablicę dynamiczną obiektów z wywołaniem konstruktora. Próbowałem już wszystkich dotąd poznanych mi sposobów i kupa, nie działa mi ta gra... Generalnie mam coś takiego:

C/C++
GameObject ** GO = new GameObject *[ gameobjects_x ];
for( int a = 0; a <= gameobjects_x; a++ )
{
    for( int b = 0; b <= gameobjects_y; b++ )
    {
        GO[ a ] = new GameObject[ b ];
    }
}
for( int y = 0; y <= gameobjects_y; y++ )
{
    for( int x = 0; x <= gameobjects_x; x++ )
    {
        GO[ x ][ y ].type = 0;
        GO[ x ][ y ].xpos = x * 32;
        GO[ x ][ y ].ypos = y * 32;
        GO[ x ][ y ].xsize = 32;
        GO[ x ][ y ].ysize = 32;
        GO[ x ][ y ].xcpos = 0;
        GO[ x ][ y ].ycpos = 0;
        GO[ x ][ y ].xcsize = 64;
        GO[ x ][ y ].ycsize = 64;
        GO[ x ][ y ].angle = 0.0;
        GO[ x ][ y ].animation = false;
        cout << x << " " << y << endl;
    }
}

Ale to jest bardzo badziewny pomysł, bo jak włączam program to zanim on zapisze te dane mija z 20s, a to za dużo...

Wcześniej miałem łatwiejszy sposób, ale za nic nie dało się wysłać tej tablicy do funkcji...

C/C++
GameObject * tablica[ 10 ][ 10 ];
for( int y = 0; y <= 100; y++ )
{
    for( int x = 0; x <= 100; x++ )
    {
        tablica[ x ][ y ] = new GameObject( tutaj dawa ł em parametry );
    }
}

I jakoś tak to mniej więcej wyglądało, ale gdy chciałem wysłać tą tablicę do funkcji to niby wysłałem, ale były błędne dane...

C/C++
void funkcja( GameObject ** tablica )
{
    ;
}

Tak jakoś ją wysyłałem, bo GameObject * tablica to już się nawet nie kompilowało.

A teraz to o co mi chodzi, czyli:

Jak stworzyć taką tablicę z wywołaniem konstruktora i jak ją wysłać do funkcji i to tak by wysłać oryginał :)

PS. Z góry THX!!!
P-123360
jegor377
Temat założony przez niniejszego użytkownika
» 2014-12-26 19:28:29
na razie wymyśliłem jak wywołać ten konstruktor, ale dalej to jest zbyt powolne :(

C/C++
GameObject ** GO = new GameObject *[ gameobjects_x ];
for( int a = 0; a <= gameobjects_x; a++ )
{
    for( int b = 0; b <= gameobjects_y; b++ )
    {
        GO[ a ] = new GameObject[ b ];
    }
}
for( int y = 0; y <= gameobjects_y; y++ )
{
    for( int x = 0; x <= gameobjects_x; x++ )
    {
        GO[ x ][ y ] = GameObject( 1, 12, 8, 0, 0, 0, 0, 0, 0, 0.0, false, 0, 0, 0, 0, 0, 0, 0 ); // tutaj new usunąłem...
        cout << x << " " << y << endl;
    }
}

Więc teraz potrzebuje to wpisać przy stworzeniu obiektu...
P-123361
jegor377
Temat założony przez niniejszego użytkownika
» 2014-12-26 19:32:44
JUŻ WIEM!

TO WSZYSTKO DLA TEGO, ŻE WYWOŁYWAŁEM FUNKCJE COUT, A TO SPOWOLNIAŁO TEN PROGRAM! TERAZ JAK JĄ USUNĄŁEM TO PROGRAM ZAPIEPRZA JAK DZIKI!

C/C++
GameObject ** GO = new GameObject *[ gameobjects_x ];
for( int a = 0; a <= gameobjects_x; a++ )
{
    for( int b = 0; b <= gameobjects_y; b++ )
    {
        GO[ a ] = new GameObject[ b ];
    }
}
for( int y = 0; y <= gameobjects_y; y++ )
{
    for( int x = 0; x <= gameobjects_x; x++ )
    {
        GO[ x ][ y ] = GameObject( 1, 12, 8, 0, 0, 0, 0, 0, 0, 0.0, false, 0, 0, 0, 0, 0, 0, 0 );
    }
}

JEST!!!!!!!!!!!!!!!!!
P-123362
Mateus.
» 2014-12-26 20:29:38
Na przyszłość: wstawiaj kod w znaczniki
[ cpp ]  [ / cpp ]
P-123363
jegor377
Temat założony przez niniejszego użytkownika
» 2014-12-26 20:37:37
@up
ok :)
P-123365
« 1 »
  Strona 1 z 1