Moin!
Ich habe vor ca. 1 Monat mit dem Programmieren begonnen & hatte davor noch keinerlei Ahnung.
Ich weiß das ich in dem Code den ich gleich präsentiere deutlich leichtere Wege hätte gehen können.
Aber wir sollen erstmal mit dem Arbeiten was wir in der Schule beigebracht bekommen haben.
[MEIN PROBLEM]
Es hapert bei mir in der Ausgabe, wenn es bei Mastermind darum geht:
Richtige Position & Richtige Farbe = 0
Richtige Farbe & Falsche Position = x
Leider gibt er mir manches doppelt aus und total durcheinander. Habe auch schon echt alles Versucht, aber es wurde nur noch komplizierter.
Vielleicht kann mir ja hier jemand etwas behilflich sein. : )
Meine Eingabe Methode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79:
| public static void SpielerEingabe(string[] zufallsFarben) { Console.Clear(); Console.WriteLine("Geben Sie 4 Zahlen ein für die jeweiligen Farben:\n"); Console.WriteLine("1 = Gelb\n2 = Blau\n3 = Rot\n4 = Lila\n5 = Weiß\n6 = Grau\n7 = Grün\n8 = Orange\n");
int[] eingabeZahlen = new int[4]; string[] eingabeFarben = new string[4]; for (int counter = 0; counter < 4; counter++) { string eingabe = Console.ReadLine();
int zahl = 0;
if (int.TryParse(eingabe, out zahl)) { eingabeZahlen[counter] = zahl; } switch (eingabeZahlen[counter]) { case 1: eingabeFarben[counter] = "Gelb"; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("= Gelb\n"); Console.ResetColor(); break; case 2: eingabeFarben[counter] = "Blau"; Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("= Blau\n"); Console.ResetColor(); break; case 3: eingabeFarben[counter] = "Rot"; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("= Rot\n"); Console.ResetColor(); break; case 4: eingabeFarben[counter] = "Lila"; Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("= Lila\n"); Console.ResetColor(); break; case 5: eingabeFarben[counter] = "Weiß"; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("= Weiß\n"); Console.ResetColor(); break; case 6: eingabeFarben[counter] = "Grau"; Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine("= Grau\n"); Console.ResetColor(); break; case 7: eingabeFarben[counter] = "Grün"; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("= Grün\n"); Console.ResetColor(); break; case 8: eingabeFarben[counter] = "Orange"; Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("= Orange\n"); Console.ResetColor(); break; default: Console.Write(""); Console.WriteLine("Eingabe Parameter inkorrekt!\n"); Console.ReadLine(); SpielerEingabe(zufallsFarben); break; } } EingabeMitErgebnisVergleichen(zufallsFarben, eingabeFarben); } |
und das ist die Vergleichsmethode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77:
| public static void EingabeMitErgebnisVergleichen(string[] zufallsfarben, string[] eingabefarben) { for (int counter = 0; counter < 4; counter++) { if (eingabefarben[counter] == zufallsfarben[0]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Richtige Position = " + eingabefarben[0]); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("O\n"); Console.ResetColor(); } else if (eingabefarben[counter] == zufallsfarben[1] || eingabefarben[counter] == zufallsfarben[2] || eingabefarben[counter] == zufallsfarben[3]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Falsche Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("X\n"); Console.ResetColor(); } if (eingabefarben[counter] == zufallsfarben[1]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Richtige Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("O\n"); Console.ResetColor(); } else if (eingabefarben[counter] == zufallsfarben[0] || eingabefarben[counter] == zufallsfarben[2] || eingabefarben[counter] == zufallsfarben[3]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Falsche Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("X\n"); Console.ResetColor(); } if (eingabefarben[counter] == zufallsfarben[2]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Richtige Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("O\n"); Console.ResetColor();
} else if (eingabefarben[counter] == zufallsfarben[0] || eingabefarben[counter] == zufallsfarben[1] || eingabefarben[counter] == zufallsfarben[3]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Falsche Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("X\n"); Console.ResetColor(); } if (eingabefarben[counter] == zufallsfarben[3]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Richtige Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("O\n"); Console.ResetColor(); } else if (eingabefarben[counter] == zufallsfarben[0] || eingabefarben[counter] == zufallsfarben[1] || eingabefarben[counter] == zufallsfarben[2]) { Console.WriteLine("___________________________"); Console.WriteLine("Richtige Farbe | Falsche Position = " + eingabefarben[counter]); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("X\n"); Console.ResetColor(); } else { Console.Write(""); Console.WriteLine("___________________________"); Console.WriteLine("Leider kein Treffefer gelandet.\n"); } } } |
Moderiert von Th69: Code- durch C#-Tags ersetztModeriert von Th69: Topic aus WinForms verschoben am Do 19.09.2019 um 12:55