Entwickler-Ecke

Basistechnologien - Variablen verknüpfen!


me123 - So 27.12.09 23:06
Titel: Variablen verknüpfen!
Hallo,
ich programmiere derzeit ein kleines Spiel in C# und stoße nun auf ein Problem.

Ich erzeuge ein Zufallszahl und speichere diese in einer Variable.


C#-Quelltext
1:
2:
Random rnd = new Random();
schritte = rnd.Next(16);


Gehen wir mal davon aus, dass der blaue Spielstein blau_1 auf dem Feld 2 ist. "Würfelt" man nun z.B. eine 3, so soll der Spielstein auf Feld 5 springen (2 + 3 = 5).

C#-Quelltext
1:
this.blau_1.Location = new System.Drawing.Point(feld5_X, feld5_Y);                    


Da ich nun aber nicht für alle 40 Felder eine if-Bedingung schreiben will, müsste ich die Feld-Zahl automatisch durch das Ergebnis von Ursprungsfeld + Schritte ersetzen. Als String sähe es ja dann so aus:

C#-Quelltext
1:
string ergebnis = "feld" + schritte + "_X";                    


Nun meine Frage, wie ich es hinbekomme, dass der oben genannte String als Variable für die neue Koordinate fungiert.

Einfach

C#-Quelltext
1:
this.blau_1.Location = new System.Drawing.Point("feld" + schritte + "_X""feld" + schritte + "_Y");                    

funktioniert logischerweise nicht...

Und wenn ich die Anführungszeichen weglasse, bekomme ich folgende Fehler:
Zitat:
Fehler 1 Der Name "feld" ist im aktuellen Kontext nicht vorhanden.
Fehler 2 Der Name "_X" ist im aktuellen Kontext nicht vorhanden.


jaenicke - So 27.12.09 23:35

Hallo und :welcome: im Forum ;-)

Wie wäre es mit Arrays / Listen? Denn da kannst du auf die Werte darin ja direkt via Index zugreifen.

Ich kann es auch noch ausführlicher schreiben, wenn das so noch nicht klar wird was ich meine. ;-)

Ach ja, und die zweite Variante: Die Positionen sollten sich doch auch berechnen lassen, oder? Dann brauchst du gar keine zusätzlichen gespeicherten Daten.


me123 - Mo 28.12.09 01:01

Stimmt, an ein Array habe ich gar nicht gedacht - das ist ja sogar noch viel einfacher.

Ich werde das mal probieren, danke.


//edit: Klappt wunderbar, ich danke dir!