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(1, 6); |
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. |