Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Toren
Thema: TicTacToe Gewinnüberprüfung
Am im Forum: Rund um die Programmierung

Vielen Dank Lukas für deine Antwort, ich habe nur eine Gewinnlinie erst einmal geschrieben um zu testen ob es überhaupt funktioniert.
Ich habe jetzt einfach ein ein-dimensionales Array angelegt und es funktioniert prima mit der Abfrage, das Problem ist also gelöst

Thema: TicTacToe Gewinnüberprüfung
Am im Forum: Rund um die Programmierung

Guten Tag,

Ich versuche grad C# zu lernen und habe mir vorgenommen ein kleines TicTacToe zu programmieren, aber es klappt mit der Gewinnüberprüfung nicht recht.
Ich habe es auch schon mit char statt string probiert, anderen Ausdrücken für die Gewinnbedingung, also statt if (Spielfeld[0, 0] == "X" && Spielfeld[0, 1] == "X" && Spielfeld[0, 2] == "X") zum Beispiel if (Spielfeld[0, 0] == "X" && Spielfeld[0, 1] == Spielfeld[0, 0] && Spielfeld[0, 2] == Spielfeld[0, 0]) und auch schon ein zweites Array angelegt das ich mit dem Spielarray verglichen habe, es hat nichts funktioniert. Deswegen würde ich mich freuen wenn mir hier jemand eine verständliche Antwort geben könnte, wo denn mein Denkfehler liegt.
Vielen Dank.




namespace Übung
{
    class Program
    {

        static bool Gewinn;
        static int Spalte;
        static int Zeile;

        static string[,] Spielfeld = new string[3, 3] // Spielfeldarray mit Indexen
        {
            {"I", "I", "I"} ,
            {"I", "I", "I"} ,
            {"I", "I", "I"} ,

        };
        

        static void SpielfeldAnzeigen() // Das Spielfeld wird angezeigt durch eine For-Schleife
        {
            for (int i = 0; i < 3; i++)
            {            
                Console.WriteLine(Spielfeld[i, 0] + Spielfeld[i, 1] + Spielfeld[i, 2]);                
            } 

            Console.WriteLine();
        }


        static void Spieler1() // Spieler 1 tippt mit X
        {
            Console.WriteLine("Spieler 1 ist dran mit tippen!\nTippe zuerst die Spalte, dann die Zeile!");
            Spalte = Convert.ToInt32(Console.ReadLine());
            Zeile = Convert.ToInt32(Console.ReadLine());
            Spielfeld[Zeile, Spalte] = "X";

        }

        static void Spieler2() // Spieler 2 tippt mit O
        {
            Console.WriteLine("Spieler 2 ist dran mit tippen!\nTippe zuerst die Spalte, dann die Zeile!");
            Spalte = Convert.ToInt32(Console.ReadLine());
            Zeile = Convert.ToInt32(Console.ReadLine());
            Spielfeld[Zeile, Spalte] = "O";
        }

        static void GewinnSpieler1() // Gewinnbedingungen im Array für Spieler 2
        {

            if (Spielfeld[0, 0] == "X" && Spielfeld[0, 1] == "X" && Spielfeld[0, 2] == "X")

            {
                Gewinn = true;
                Console.WriteLine("\nSpieler 1 hat gewonnen!");
            }

        }



    // Main Methode beginnt hier
    static void Main(string[] args)
        {

            do
            {
                SpielfeldAnzeigen();
                
                Spieler1();                

                SpielfeldAnzeigen();

                Spieler2();

                GewinnSpieler1();


            } while (Gewinn == false);
          
        }
    }
}