Types sortieren
Übersicht

![]() |
ChristophBetreff: Types sortieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo ich habe mal eine Frage. Und zwar will ich Spieler nach ihrer "Leistung" sortieren. Allerdings benutze ich Types.
Normalerweise benutze ich Bubblesort, was mit Types aber nicht funzt, da man nicht 2 gleiche Typeschleifen ineinanderschachteln kann. Spontan ist mir nur eingefallen die Daten der Spieler in Dims einzulesen, zu sortieren und wieder in die vorigen Types einzuspeichern. Gibt es eine bessere Lösung? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ganz spontan kannst du auch einfach die Types in einen Array packen und den sortieren.
Sehe allerdings nicht wo das problem sein sollte mit 2 verschachtelten TypeSchleifen. Das geht problemlos solange man nicht vergisst die beiden schleifenvariablen unterschiedlich zu benennen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
NewJerzy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probiers doch so, dass alle infos über den Spieler in einer Datei abgespeichert werden! Die Dateien heißßen dann einfach so, wie die Spieler!
Dann ( um noch das mit dem Fähigkeiten ) machste einfach noch ein Punkte-System... so, nun kannste die Dateien nacheinander öffnen und die Punkte vergleichen lassen! ( gibt bestimmt n Algorythmus hier oder es gibt schon ne Funktion in BB ) Und schwubb di wubb: Problem gelöst!! Ich hoffe das war überhaupt das richtige, nich dass ich dich falsch verstanden habe ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
öhmm ... NewJerzys Antwort vergessen wir lieber. Nur wegen einer kleinen Sortierung hier mit Datein rumzufuchteln ... lustigerweise erklärst du den wichtigen Algorithmus auch nicht... egal.
Bubblesort funktioniert auch mit Types prima, gibt da kein Problem. Kannst ja mal Code posten, wenn du Probleme hast. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dreamora
Du hast Recht, ist ja einfacher als ich gedacht habe ![]() @NewJerzy Da sich die Daten ständig ändern (fast jedes Frame), finde ich ständiges auslesen von Dateien eher umständlicher als meine Dim-Methode. Danke das Problem hat sich jetzt gelöst ![]() edit: @D2006 Danke, hab ich auch gerade an einem kleinen Beispiel bemerkt ![]() Komisch, dass ich so etwas noch nicht wusste, normalerweise kenne ich mich mit Types ziemlich gut aus, aber man kann halt immer noch etwas lernen ![]() |
||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Types nach einem bestimmten Feld sortieren:
BlitzBasic: [AUSKLAPPEN]
|
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
wieso so umständlich?
Code: [AUSKLAPPEN] dim typs.typ(5)
for x.typ=Each typ max=0 for y=5 to 1 step -1 if typs(y)<>Null if x\score>typs(y)\score max=y endif else max=y endif next if max>0 for y=5 to max+1 step -1 typs(y)=typs(y-1) next typs(max)=x endif next dürft funktionieren ![]() (mir fällt gerade auf, dass es vielleicht noch umständlicher ist als x-pressives code) ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
@StepTiger: deine Lösung setzt ein Array mit einer festen und bekannten Länge voraus -aber der Sinn, Types zu benutzen, liegt ja gerade darin, das man Listen unbestimmter Länge benutzen kann und nicht ständig die Anzahl der Elemente im Auge behalten muss. Wenn sich die Anzahl deiner Elemente ändert, musst du jedesmal deine Funktion anpassen. | ||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich möchte nämlich, dass sich die Spieleranzahl ändert, sonst hätte ich kein Type genommen
@xpressive Ich habe das so gemacht: Zuerst werden die Spielerplätze verteilt: Code: [AUSKLAPPEN] i=1
For Player.t2=each t2 Player\pos=i i=i+1 next Dann wird geprüft: Wenn der eine besser ist als der andere, aber dennoch den schlechteren Rang hat, wird getauscht. Am Schluss sind zwar die Spieler nicht vertauscht aber die Spielerpositionen. Und das reicht mir für mein Vorhaben... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group