Types und wieder mal ein Denkproblem!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Jamagin

Betreff: Types und wieder mal ein Denkproblem!

BeitragSa, Aug 28, 2010 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich melde mich wieder mal, da ich einen Denkfehler hab oder einfachste Dinge nicht verstehe! Sad

Einfache Frage, wie kann ich in einem Typefeld 2 Objekte vertauschen, d.h. das 1 Objekt bekommt die Koordinaten vom 2ten Objekt und umgekehrt! Wer Bejeweled-Spiele kennt, weiß was ich meine. Natürlich hab ich hier schon gesucht aber da ich Types bevorzuge, hab ich eigentlich keinen Ansatz für mein Problem gefunden.

Beispiel davor:

00X0X00

und danach:

00XX000

Soweit bekomm ich das schon hin, auch optisch, doch in der Typeliste ist das vertauschte Type trotzdem an der 5. Stelle, es sollte dann aber an der 4 Stelle liegen.

Würde mich freuen auf einen Denkansatz! Danke


lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

Xeres

Moderator

BeitragSa, Aug 28, 2010 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Arrow Before, After, Insert
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Jamagin

BeitragSa, Aug 28, 2010 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Xeres,

danke für deine kurze schnelle Antwort, aber das ist nicht das was ich suche, da ich beispielsweise 64 Objekte habe, natürlich eine Objektnummer mitlaufen lasse um die Types einzeln anzusprechen. Das klappt auch alles.

Nehmen wir an ich selektiere das Objekt mit der Nummer 20 und möchte es mit dem Objekt das oberhalb des tauschenden Objektes liegt. Da kann ich ja x-mal Before ausführen oder?

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

Xeres

Moderator

BeitragSa, Aug 28, 2010 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, da führst du einmal insert before instanz[nr] aus und einmal insert after instanz2[nr]. Wenn ich das richtig überblicke.

Nachtrag:
Oder du lässt die Type-Einträge wo sie sind und tauschst den Inhalt über Temporäre variablen.

Nachtrag2:
BlitzBasic: [AUSKLAPPEN]
Type TEintrag
Field Wert
End Type


Local i, E.TEintrag[10]
For i=1 To 10
E[i] = New TEintrag
E[i]\Wert=i
Next

PrintEintrag()

Insert E[5] Before First TEintrag
Insert E[8] After E[10]

PrintEintrag()

WaitKey()
End

Function PrintEintrag()
Local E.TEintrag
For E = Each TEintrag
Print(E\Wert)
Next
Print("- - - - -")
End Function


Nachtrag3:
BlitzBasic: [AUSKLAPPEN]
Type TEintrag
Field Wert
End Type


Local i
Global E.TEintrag[10]
For i=1 To 10
E[i] = New TEintrag
E[i]\Wert=i
Next

PrintEintrag()

SwapEintrag(1, 10)
SwapEintrag(4, 6)

PrintEintrag()

WaitKey()
End

Function PrintEintrag()
Local E.TEintrag
For E = Each TEintrag
Print(E\Wert)
Next
Print("- - - - -")
End Function

Function SwapEintrag(index1, index2)
Local tempWert
tempWert = E[index1]\Wert
E[index1]\Wert = E[index2]\Wert
E[index2]\Wert = tempWert
End Function
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
  • Zuletzt bearbeitet von Xeres am Sa, Aug 28, 2010 15:20, insgesamt einmal bearbeitet

Jamagin

BeitragSa, Aug 28, 2010 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Xeres,

ja genau, ich mache das über temporäre Variablen, jedoch wird die ObjectID nicht mitgegeben!

Also ich habe ein Feld 8x8 und in dieses kommt als Inhalt der Objekterkennung eine Zahl von 1-7 als Beispiel, da ich 7 verschiedene Steine habe. Wie schon in den Postings davor geschrieben, das funktioniert auch. Ich werd nochmals meinen Code durchschauen, es ist sicher nur ein kleiner Fehler, weil die Werte werden 1:1 getauscht nur eben wird auch das getauschte Objekt gelöscht und das sollte nicht sein!

Trotzdem Danke. Vielleicht hab ich einfach zuviele Variablen schon...!

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

Jamagin

BeitragSa, Aug 28, 2010 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Problem gelöst!

Hallo Xeres,

danke für deine Hilfe. Ja, es war ein logischer Fehler meinerseits. Ich habe schlichtweg beim Tauschen der Inhalte auf die Typekoordinaten vergessen. Habe die Positionen der Objekte mit den temp. Variablen bestückt als mit den dafür vorhergesehenen Typevariablen...!
Echt doof von mir!

Also dieser Thread kann geschlossen werden!!

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group