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

Allegro C++ RPG Stos przedmiotów

Ostatnio zmodyfikowano 2012-05-22 18:26
Autor Wiadomość
Gieneq
Temat założony przez niniejszego użytkownika
Allegro C++ RPG Stos przedmiotów
» 2012-05-18 15:41:15
Witam. Jest to mój pierwszy temat.
Piszę w c++ już dość długo, za allegro zabrałem się w tym miesiącu. Obecnie piszę gierkę RPG. Zaimplementowałem obsługę mapy kafelkowej, scrolling, kończę tworzyć edytor map. I tu pojawił się problem którego nie mogę rozwiązać (albo nie wiem jakie hasła googlować). Jak stworzyć mapę dającą mi możliwość poruszania się w pionie, poziomie, góra dół, ale co ważniejsze by przedmioty leżące na ziemi tworzyły stosy i posiadały odpowiednią ilość.
Może piszę niejasno więc zobrazuję to przykładem:
na warstwie [stos=0] mapy o parametrach [x=0][y=0][z=0] znajduje się trawa, będąca kafelkiem mapy (o wartości np 1). W tym samym miejscu na warstwie [stos=1] znajdują się kamienie (o wartości np 2) ale w ilości 5. [stos=3] znajduje się np deska sztuk 1. Stos = 4 znajduje się np kamień ale ten kamień nie sumuje się z tymi kamieniami na warstwie [stos=2].

myślałem o czymś takim:
C/C++
int world[ A ][ X ][ Y ][ Z ][ stos ]; // gdzie wynikiem będzie: id przedmiotu dla A=0 lub ilość tego przedmiotu dla A=1, np:
world[ 0 ][ 0 ][ 0 ][ 0 ][ 0 ] = 1; //trawa
world[ 1 ][ 0 ][ 0 ][ 0 ][ 0 ] = 1; //ilość 1
world[ 0 ][ 0 ][ 0 ][ 0 ][ 1 ] = 2; //kamień
world[ 1 ][ 0 ][ 0 ][ 0 ][ 1 ] = 5; //ilość 5
Mapa miała by być wielkości: 1000x1000x60.


Przyszłościowo przedmioty miały by jeszcze swoje parametry:
masa, jak duży ilość można trzymać w jednej "kupie", cena sprzedaży, czy da się podnieć czy da sie na to wejść, specyficzne np dla liny.
Tak mniej więcej wygląda mój problem, byłbym bardzo wdzięczny za odpowiedź.
P-56904
pekfos
» 2012-05-18 17:46:00
słabe rozwiązanie.
1. Zmuszasz by stos przedmiotów nie był wyższy niż "stos"
2. Nie wszędzie będzie można kłaść przedmioty a tak pamięć dla przedmiotów jest wszędzie.
3. Policz ile to
sizeof( int ) * A * X * Y * Z * stos
P-56914
SeaMonster131
» 2012-05-18 18:03:52
Może użyj » standard C++vector ?
P-56918
Radomiej
» 2012-05-19 17:30:34
Może zamiast stosować stosy w blokach po prostu oddzielić tak że dla bloku wybierasz tylko jego rodzaj i czy mogą na nim być umieszczane inne przedmioty nie będące terenem. A przedmioty znajdujące się w grze odświeżasz swoją drogą.
P-56996
Gieneq
Temat założony przez niniejszego użytkownika
» 2012-05-22 18:26:11
Wielkie dzięki za pomoc. Na pewno się przyda.
A oto co udało mi się zdziałać: http://www.youtube.com/watch?v=sZMUONZhDMc
P-57171
« 1 »
  Strona 1 z 1