Ich mache "Entsperre mich" -ähnliches Spiel in C#. Verwenden von Schaltflächen und Arrays als Karte. lvl1 Array ist ein Board/Karte der Ebene 1. Und wenn die Blöcke (Schaltflächen) dynamisch erstellt und fügt zu Panel, ich möchte sie färben. Wenn ich das Level abgeschlossen habe, muss es das Panel löschen und das Board neu zeichnen, aber dieses Mal muss es board/map von lvl2 array lesen. Also die Frage ist, wie man den Namen des Arrays in switch case loop dynamisch setzt? Hier ist der Code:Verwenden verschiedener Arrays in einem switch Fall C#
int[,] lvl1 =
{
{1,1,2,3,3,4,0},
{0,0,2,0,5,4,0},
{6,0,99,99,5,4,89},
{6,0,7,7,8,8,0},
{9,10,0,11,12,12,0},
{9,10,0,11,13,13,0},
{0,0,0,0,0,0,0},
};
switch (lvl1[i, j])
{
case 1:
lvl1[i,j] = 1;
btn.BackColor = Color.Yellow;
break;
case 2:
lvl1[i, j] = 2;
btn.BackColor = Color.Cyan;
break;
case 3:
lvl1[i, j] = 3;
btn.BackColor = Color.ForestGreen;
break;
case 4:
lvl1[i, j] = 4;
btn.BackColor = Color.DeepSkyBlue;
break;
case 5:
lvl1[i, j] = 5;
btn.BackColor = Color.Violet;
break;
case 6:
lvl1[i, j] = 6;
btn.BackColor = Color.Orange;
break;
case 7:
lvl1[i, j] = 7;
btn.BackColor = Color.LimeGreen;
break;
case 8:
lvl1[i, j] = 8;
btn.BackColor = Color.Teal;
break;
case 9:
lvl1[i, j] = 9;
btn.BackColor = Color.Aqua;
break;
case 10:
lvl1[i, j] = 10;
btn.BackColor = Color.LightGoldenrodYellow;
break;
case 11:
lvl1[i, j] = 11;
btn.BackColor = Color.OrangeRed;
break;
}
ja. Ich habe es versucht. Es zeigte sich ein Fehler wie kein Override mit 2 Argumenten ?? etwas wie das –
können Sie mir sagen, was ist der Typ des aktuellen Levels? ist es Zeichenfolge? oder...?? –
@ НямбаярА. Wie in der Antwort gezeigt, ist es "int [,]", das gleiche wie die Ebenen, wie es sein sollte. –