| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| ************ Registriert seit: Jul 2001
Beiträge: 143
| Zufällige Objektbahnen verteilen und für x Frames blocken
Hier einen kleine Aufgabe, deren Lösung mir bisher nicht eingefallen ist: Wir haben drei "Bahnen", auf denen sich Objekte bewegen sollen. Ihre Bewegung steuern die Objekte selbst, wenn Sie wissen, auf welcher Bahn sie sich befinden. Es geht als ausschließlich darum, die Objekte so auf die Bahnen zu positionieren, dass Sie einen vorgegebenen Minimalabstand (in Frames) nicht unterschreiten UND dass sich die Bahnwahl und die Häufigkeit der Objekte nach Zufallswerten richten. Wobei die Objekte unterschiedliche Wertigkeiten erhalten sollen, sprich in unterschiedlicher Häufigkeit auftreten sollen. Im Beispiel gehen wir von drei möglichen Bahnen und vier verschiedenen Objekten aus: PHP-Code: Es werden die Objekte einzeln per Zufall ausgewürfelt und bei erfolgreicher Auswahl wird das Objekt auf eine zufällige Bahn platziert. Diese wird dem Bahnen-Array entnommen, da sie ab diesem Zeitpunkt für die Dauer des Mindestabstandes (40 Frames) nicht mehr zur Verfügung stehen darf: PHP-Code: Wie kontrolliert man, wieviele Frames bei den einzelnen rausgenommenen Bahnen vergangen sind, und wie füge man die Bahnen dem Pool wieder zu, sobald der Mindestabstand überschritten wurde? Problem: Wenn eine Bahn aus dem Arrray entnommen wird, verändern sich in dem Array die Positionen der verbleibenden Werte. Man müsste also nicht nur den Bahnwert entnehmen, sondern auch zusätzlich Speichern, um ihn nicht zu verlieren. Das funktioniert aber nicht mit dem Ansatz oben, da hier der Bahnwert in der Variable "bahnwahl" bei jeder Platzierung wieder überschrieben wird. Also bräuchte man drei eindeutige Variablen, die die gesperrten Bahnen enthalten. Oder ein Array? Aber wie vergleicht man dann die einzelnen Werte? Und wie administriert man die Variablen zur Speicherung, um immer die zu nehmen, die gerade leer ist? Kann der Schlüssel darin liegen, in irgendeiner Form die Stammpositionen der Bahnen innerhalb des Ausgangsarrays zu wahren? Geändert von zellteilung (05-02-2006 um 23:09 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |