Code Abkürzen
Übersicht

![]() |
maboxBetreff: Code Abkürzen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab einen Code mit Positionsaufzählungen. Kann man den noch irgendwie abkürzen? bringt es was die Positionen irgendwie extern, oder mit "Data" zu speichern?
Code: [AUSKLAPPEN] platz = Rand(1,7)
If platz = 1 Then sold = 1 pos_x = 38 pos_y = 212 EndIf If platz = 2 Then sold = 1 pos_x = 644 pos_y = 215 EndIf If platz = 3 Then sold = 2 pos_x = 341 pos_y = 279 EndIf If platz = 4 Then sold = 2 pos_x = 273 pos_y = 281 EndIf If platz = 5 Then sold = 2 pos_x = 229 pos_y = 258 EndIf If platz = 6 Then sold = 3 pos_x = 430 pos_y = 241 EndIf If platz = 7 Then sold = 3 pos_x = 498 pos_y = 241 EndIf |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soviel geht auf jeden Fall:
Code: [AUSKLAPPEN] platz = Rand(1,7)
sold=(platz+1)/2 Select platz Case 1 pos_x = 38 pos_y = 212 Case 2 pos_x = 644 pos_y = 215 Case 3 pos_x = 341 pos_y = 279 Case 4 pos_x = 273 pos_y = 281 Case 5 pos_x = 229 pos_y = 258 Case 6 pos_x = 430 pos_y = 241 Case 7 pos_x = 498 pos_y = 241 End Select Die Überlegung mit Dim is sicher nicht blöd.. probiers mal. Kommt aber auch iwie drauf an, wie oft du diese Entscheidung zu treffen hast. Wenns nur einmal vorkommt, würd cihs so wie oben machen, ansonsten Dim. mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
platz = Rand(1,7)
Select platz Case 1 Restore platz1 Case 2 Restore platz1 Case 3 Restore platz1 Case 4 Restore platz1 Case 5 Restore platz1 Case 6 Restore platz1 Case 7 Restore platz1 End Select Read pos_x,pos_y,solid und dann halt gottweißwo data... ist auf jeden übersichtlicher würd ich sagen |
||
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok Danke schonmal!
@Eingeproggt das mit Code: [AUSKLAPPEN] sold=(platz+1)/2 funktioniert leider nicht, weil das auch ungregelmäßig ist.
hattest du das mit den Dims so gemeint? Code: [AUSKLAPPEN] Dim sold(7), pos_x(7), pos_y(7)
sold (1) = 1 sold (2) = 1 sold (3) = 2 sold (4) = 2 sold (5) = 2 sold (6) = 3 sold (7) = 3 pos_x(1) = 38 pos_x(2) = 644 pos_x(3) = 341 pos_x(4) = 273 pos_x(5) = 229 pos_x(6) = 430 pos_x(7) = 498 pos_y(1) = 212 pos_y(2) = 215 pos_y(3) = 279 pos_y(4) = 281 pos_y(5) = 258 pos_y(6) = 241 pos_y(7) = 241 platz = Rand(1,7) |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
falls du das so machen würdes... würdest du Arbeitsspeicher in den Ofen schießen ![]() |
||
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Silver_Knee
Nach deinem Beispiel müsste das so aussehen wenns fertig ist oder? Code: [AUSKLAPPEN] platz = Rand(1,7)
Select platz Case 1 Restore platz1 Case 2 Restore platz2 Case 3 Restore platz3 Case 4 Restore platz4 Case 5 Restore platz5 Case 6 Restore platz6 Case 7 Restore platz7 End Select Read pos_x,pos_y,sold .platz1 Data 38,212,1 .platz2 Data 644,215,1 .platz3 Data 341,279,2 .platz4 Data 273,281,2 .platz5 Data 229,258,2 .platz6 Data 430,241,3 .platz7 Data 498,241,3 |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
jop genau, wird halt Ewigkeiten länger, wenn man's erweitern will ist dafür aber trotzdem flexibel.
Kannst ja auch Case1:Restore platz1schreiben um zeilen zu sparen... |
||
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, danke! | ||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das einzige was ich hier zum vereinfachen empfehlen kann ist in den Werten nach Gesetzmäßigkeiten zu suchen und sie dann mit einer Formel zu bestimmen. Da ich den konkreten Verwendungszweck nicht kenne ist das etwas schwierig, aber üblicherweise haben viele Programminternen Abläufe eine mehr oder weniger offensichtliche Struktur.
Die Koordinaten die Du da bestimmst, weshalb sind die so bunt verstreut? Gibt es Möglichkeiten die Koordinaten in ein mathematisches Raster zu bringen? Ansonsten halte ich die restore-Variante für daneben, denn Übersichtlichkeit ist damit nicht gegeben und für die Handvoll Daten ist ein Array dann nicht daneben (Mal ganz ab von der Tatsache dass die in Datas gespeicherten Werte ebenfalls mit in den Speicher geladen werden und es daher eh wurscht ist ob sie dort 4 byte belegen pro wert oder im Array 4 Byte belegen pro Wert.) |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
In den Werten gibt es keine Gesetzmäßigkeiten und in ein mathematisches Raster bringen kann ich sie in diesem Fall auch nicht.
Weil es aber nur so wenige Werte ist die Übersicht noch ganz ok wenn man die restore-Variante benützt. Von der Codelänge ist es eigentlich egal ob ich die restore-Variante oder Arrays nehme weil das auch ziemlich gleich lang ist. Ich glaub ich lass es einfach so wie ichs jetzt hab ![]() |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group