Tablice, oraz silnik izometryczny.

0

Mam takie 2 pytania.
Jestem początkującym programistą c++ że tak powiem.
W moim programie mam liste np. efektów które mają sie wyświetlić Efekt *efekty[]
Jak widzicie nie jest zadeklarowane ile jest elementów tablicy więc moje pytanie brzmi: jeżeli mam w tej tablicy już 3 elementy {efekt1,efekt2,efekt3} to gdy efekt2 zakończy swoją prace i zostanie usunięty to tablica przyjmie postać samoistnie {efekt1,efekt3}? czy raczej {efekt1,0, efekt3} ?

A drugie pytanie jest takie: Jaki silnik graficzny może nadawać się do zrobienia gry 3d z elementami 2d. (chodzi mi o efekt jaki jest np w baldurs gate, icewind dale). Lepszy będzie irrlich, OGRE czy może indielib?

0

Jak widzicie
nic nie widzimy. zwłaszcza w jaki sposób dodajesz i usuwasz elementy.

0

To jest tak:
Mam klase Efekt ale tego wklejać nie będę.
Kod źródłowy mam na laptopie więc tutaj tak z grubsza.

W taki sposób wklejam efekty na liste:

Efekt *efekty[];

onMouseClink()
{
for(int i = 0; i < 10; i++)
{
if(efekty[i] == 0)
   efekty[i] = &(new Efekt);
}
}

A w taki usuwam:
checkEffects()
{
for(int i = 0; i < 10; i++)
{
if(efekty[i]->isDone())
delete efekty[i];
}
}

0

efekty[i] = &(new Efekt);

efekty[i] = new Efekt();

to tablica przyjmie postać samoistnie {efekt1,efekt3}? czy raczej {efekt1,0, efekt3} ?

raczej { efekt1, #^%#ŚMIEĆ%@, efekt3}

0

No dobra a jakby to przerobić na:

checkEffects()
 {
 for(int i = 0; i < 10; i++)
 {
 if(efekty[i]->isDone())
{
    delete efekty[i];
efekty[i] = 0;
}
 }
 }

To wtedy tam będzie to zero czy elementyw tablicy sie przesuną?

0

nie, nic się nie przesunie. masz do wyboru:
• przesunąć ręcznie wszystkie elementy za usuniętym o pozycję wstecz (powolne)
• przesunąć ostatni element w miejsce usuniętego (jeśli kolejność elementów jest nieistotna; szybkie)
• zamiast tablicy użyć czegoś bardziej przystosowanego do tego co chcesz zrobić, jak list albo deque
• olać sprawę i pogodzić się że jak wpiszesz 0 to będzie tam 0.

0

Wielkie dzięki. Nie ma tu chyba czegoś takiego jak "pomógł" więc Ci tego dać nie mogę.
Zaraz poszukam co to jest to list itp. bo do czegoś takiego w książke jeszcze nie doszedłem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1