Kleinsten Distance Wert suchen.
Übersicht

![]() |
ChriseBetreff: Kleinsten Distance Wert suchen. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich habe mal wieder eine Frage. Und zwar habe ich folgenden Teilcode: Code: [AUSKLAPPEN] For team.knight = Each knight choice_distance# = 1000 For other.knight = Each knight If team\team <> other\team And other\mode <> 4 Then If choice_distance# > EntityDistance(other\pivot,team\pivot) Then choice_distance# = EntityDistance(other\pivot,team\pivot) choice_handle = other\pivot EndIf EndIf Next Next Der Sinn dieses Codes ist, unter einer Reihe von Type Einträgen das Objekt bzw. die Objektidentität herauszusuchen, welches zu dem Aktuellen zweiten Type Einträg am kürzesten entfernt ist. Mir persönlich kommt diese Angelegenheit ziemlich umständlich bzw. schnell speicherlastig vor, deswegen frage ich jetzt einfach mal, ob es dafür eine geschicktere bzw. elegantere Lösung gibt. Danke für eure Tipps und Vorschläge ![]() |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
um einmal entity distanze zu sparen könnte man das so machen, ansonsten sieht der Code sauber aus.
Für mein nivaue Code: [AUSKLAPPEN] For team.knight = Each knight
choice_distance# = 1000 For other.knight = Each knight If team\team <> other\team And other\mode <> 4 Then tmp#=EntityDistance(other\pivot,team\pivot) If choice_distance# >tmp# Then choice_distance# = tmp# choice_handle = other\pivot EndIf EndIf Next Next Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay wunderbar, danke für dein prüfendes Auge ![]() Dann probier ich das mal so aus. Eine Frage hätte ich aber auch noch. Gibt es irgendwie den Wert "Unendlich" den man für die Distanz am Anfang einstellen kann? Sodass die Weiter nicht limitiert ist? |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
den gibt es allerdings,
mach einfach die größte Zahl hin , die in integer speichern kann. Habe sie leider nicht im Kopf. Bei einem Byte müsste es 255 sein. Oder mache Distanze=0 und mache if distanze = 0 nehme ersten abstand das ist aber verschwendung denke ich. Viele Grüße TimBo Edit: Integer 4 Ganzzahl -2147483648 +2147483647 nehme die Zahl als "unendlich" Quelle: Blitz Hilfe |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
ah, wunderbar! Danke für deine schnelle und direkte Hilfe! | ||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
no problem | ||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group