kürzester abstand eines types mit einem anderem
Übersicht

BobbleboyBetreff: kürzester abstand eines types mit einem anderem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es geht um einen übungscode.
ich möchte eine einfache beute räuber simulation erstellen, hab auch alles innerhalb 2 stunden fertig bekommen, aber die räuber verhalten sich extremst buggy. hier der code: BlitzBasic: [AUSKLAPPEN] Function moverauber() wo der fehler liegt ist klar, aber wie löse ich das problem? jeder räuber soll in richtung das für ihn nächsten beute stück laufen. momentan läuft jeder rauber aber zu dem beute stück, das in der type liste innerhalb seiner sichtweite ist, was ja natürlich weiter weg sein kann als zum beispiel ein beute stück, das in der type liste weiter oben steht. das führt dazu, das die rauber sich früher oder später zusammen horten und immer auf das selbe stück beute losgehen, ohne sich aufzuteilen. ich setzte mich davor und denke natürlich weiter nach, sollte aber jemand vielleicht einen trick parat haben bin ich ganz offen. |
||
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich vermute du musst:
~ Code entfernt ~ Überprüfe deinen Code das Nächste mal besser! mfg mDave Du musst noch eine Identifikationsnummer der Beuten erstellen, sodass nicht einer mit sich selbst verglichen wird. |
||
- Zuletzt bearbeitet von mDave am Di, Jan 05, 2010 10:57, insgesamt 3-mal bearbeitet
Bobbleboy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wieso hast du zwei beuten?
was ich bisher gemacht habe: BlitzBasic: [AUSKLAPPEN] Function moverauber() scheint auch nicht ganz das wahre zu sein... denn sie flocken immer noch, was sie nicht tun dürften. und sie wählen ziele die nicht die nächsten sind aus... |
||
- Zuletzt bearbeitet von Bobbleboy am Di, Jan 05, 2010 10:36, insgesamt einmal bearbeitet
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Na, da zwei Beuten werden halt verglichen, wer näher ist.
Bei dieser "For...Each-Geschichte" werden _alle_ Individuen der Beute verglichen. Nun musst du halt überprüfen, welche Beute am wenigsten entfernt ist. Ich habe den Code ein wenig verwurschtelt, wird korrigiert. |
||
Bobbleboy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich gebe zu das dein code gut ist, trotzdem würde ich gerne wissen wieso meiner nicht funktioniert... | ||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Code ist schon richtig, nur hast du da etwas vertauscht BlitzBasic: [AUSKLAPPEN] Sqr((r\x - b\x)^2 + (r\y - b\y)^2) = nachste_beute Wenn du den Ausdruck links und den rechts vom Gleichheitszeichen vertauschst, sollte es funktionieren. mDave: Dein Code macht relativ wenig Sinn ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Bobbleboy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mein gott, du hast recht...
ich trottel ![]() BlitzBasic: [AUSKLAPPEN] AppTitle ("hunt") das ist das komplette ding, ist ein wenig sehr unausbalanciert... edit -> ausbalanziertere version |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group