Hallo Tirti,
schön zu sehen, dass du meinen Vorschlag beachtet hast! Eigentlich war er aber zumindest codemäßig anders gemeint, das System dahinter hast du aber super umgesetzt. Hier der Code, wie ich ihn schreiben würde:
void gen_block(VECTOR* pos)
{
ent_create("test.mdl", pos, make_touch);
}
void generate_level()
{
int n_map_size_x = 10;
int x;
int n_map_size_y = 10; //10 x 10 map
int y;
for(x = 0; x < n_map_size_x; x++)
for(y = 0; y < n_map_size_y; y++)
gen_block(vector(x * n_block_size, y*n_block_size, 20));
}
...lass dir den codeschnipsel einfach mal durch den Kopf gehen, er ist eigentlich ganz logisch ;-)
Und nun zu dem Problem mit den Ressourcen...
Anfangs hätte ich die Idee gehabt, das ganze mit einem per eigenem Algorithmus initalisierten Array zu machen.. aber dann ist mir folgende Idee gekommen:
man könnte anhand von verschiedenen integern ablesen, an welcher stelle in der vorherigen Dimension eine bestimmte Ressource generiert wurde, ein zufallswert bestimmt, ob der nächste block wieder eine solche wird (größere Wahrscheinlichkeit für vorherige Ressource), und dann ein zufallswert, der bestimmt ob in der nächsten Dimension an den anliegenden stellen wieder eine Solche Ressource generiert werden soll.
Da ich diese Idee noch nicht umgesetzt habe, würde ich empfehlen a) Du nimmst sie selber an. b) Wir könnten das gemeinsam per Chat in einem Sozialen Netz (eg Skype) regeln oder c) Du wartest bis das probiert habe.
Natürlich kannst du auch einfach eine eigene Idee verwenden, es ist dein Programm und deine Programmierfreiheit! :-)
LG Simon.