Gleiche Type Einträge ausfiltern ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Schoppy

Betreff: Gleiche Type Einträge ausfiltern ?

BeitragDo, Apr 28, 2005 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, gibt es eine möglichkeit im Type auf gleiche werte zu prüfen ?
Also wenn ich z.b. eine Position drinstehen habe

Fahrzeug\pos_x#= 300

jetzt den Type durchsuchen und wenn Fahrzeug\pos_x#= 300 ist dann Fahrzeug\pos_x#= 301

Das ganze mal als Code, event. kann ihn ja einer vervollständigen

Code: [AUSKLAPPEN]


Type crafts
Field x
Field aktuell
End Type

; --- Zehn Einträge mit zufallszahlen
For t = 1 To 10
alien.crafts = New crafts
alien\x = Rnd(0,10)
alien\aktuell = t ; Pos speichern
Next

;----zur Kontrolle welche Einträge gleich sind
For alien.crafts = Each crafts
DebugLog "Eintrag " + alien\aktuell
DebugLog alien\x
Next

DebugLog "_____________"

;Hier soll er mir jetzt den Eintrag ("Eintrag " + alien\aktuell) der doppelt
;ist ausgeben und +1 rechnen

While Not KeyHit(1)
Wend


Wäre super wenn einer ne Lösung für mich hätte

Danke

skey-z

BeitragDo, Apr 28, 2005 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
nach deinem Code würde alien\aktuell nie den gleichen wert wie ein anderes alien\aktuell annehmen, wenn dann müsstest du auf allien\x prüfen und dass dann am besten mit einer doppelten for-next schleife.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Alfadur

BeitragDo, Apr 28, 2005 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
und wenn du das dann überprüfst und den wert +1 machst, was ist wenn dann wieder was doppeltes ist? nochmal überprüfen? und dann nochmal und nochmal? am besten und prüfst gleich am anfang beim erstellen... also x=rand() und dann in ner forschleife schauen ob schon einer das x hat, wenn ja, nochmal rand... aber vielleicht ists am allerbesten wenn du alles der reihe nach erstellst und es dann durcheinander würfelst ...
A Cray is the only computer that runs an endless loop in less than four hours.
 

Schoppy

BeitragFr, Apr 29, 2005 3:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Also im Grunde geht es darum:

Auf meiner Map befindet sich Eine Einheit, wenn ich die auswähle und auf die karte klicke bekommt die Einheit die neu Pos_X und Pos_Z Koordinate zugewiesen. Funktioniert auch bei einer ausgewählten Einheit.

Sobald ich jetzt mehr als eine Einheit auswähle, bekommen die natürlich alle die neuen Koordinaten und somit stehen die dann alle ineinander.

Ich dachte mir wenn ich die Datenbank auf gleiche Pos_X Einträge suchen lasse und welche gefunden werden sollen die halt nen neuen wert zwischen 0 und 20 zugewiesen bekommen.

Gibt es für dieses Problem ne Lösung ?

Alfadur

BeitragFr, Apr 29, 2005 3:59
Antworten mit Zitat
Benutzer-Profile anzeigen
du mußt die neue position in abhängig von den aktuellen positionen der einheiten berechnen ... am besten du nimmst als bezugspunkt die erste gewählte einheit ...

erste einheit bei (5/5)
zweite einheit bei (2/3)

wenn du jetzt auf (8/8) klickst dann geht die erste eben zu (8/8) und die zweite bewegt sich auch (2~>(8-5)/3~>(8-5)) ...

das wäre das erste was mir einfällt. aber bevor ich nicht mehr weiß wie das alles aufgebaut ist kann ich da nicht mehr zu sagen ..
A Cray is the only computer that runs an endless loop in less than four hours.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group