Hallo!
Ich habe ein Feld mit 8*8 Plätzen. Nun will ich mit einem Script eine variable Anzahl von Objekten platzieren (global.zielwert) wobei jedes Objekt an einen freien Platz soll. Ich teste es derzeit mit dem Wert von 64, also sollte jeder Platz gefüllt sein, wobei die Verteilung bei kleineren Werten natürlich zufällig sein sollte. Mein Script sieht so aus:
Alles anzeigen
Das Script wird beim Start des Raumes von einem Objekt einmal aufgerufen. Mein Problem: es werden nicht alle freien Plätze belegt. Wo ist mein Fehler?
Ich habe ein Feld mit 8*8 Plätzen. Nun will ich mit einem Script eine variable Anzahl von Objekten platzieren (global.zielwert) wobei jedes Objekt an einen freien Platz soll. Ich teste es derzeit mit dem Wert von 64, also sollte jeder Platz gefüllt sein, wobei die Verteilung bei kleineren Werten natürlich zufällig sein sollte. Mein Script sieht so aus:
GML-Quellcode
- if global.gameover = false{
- x = 280
- y = 128
- schrittweite = 80
- for (block = 0; block < global.zielwert; block += 1){
- xx = x + (schrittweite * floor(random(8)))
- yy = y + (schrittweite * floor(random(8)))
- for (i = 0; i < global.zielwert; i += 1){
- if place_meeting(xx,yy,obj_block){
- xx = x + (schrittweite * floor(random(8)))
- yy = y + (schrittweite * floor(random(8)))
- }else{
- instance_create(xx,yy,obj_block)
- break;
- }
- }
- }
- }
Das Script wird beim Start des Raumes von einem Objekt einmal aufgerufen. Mein Problem: es werden nicht alle freien Plätze belegt. Wo ist mein Fehler?