Exemplo n.º 1
0
 /// <summary>
 /// Initialisiert ein neues Spiel abhängig der übergebenen Modi.
 /// </summary>
 /// <param name="spieler1">Gewählter Spielmodus für Spieler 1.</param>
 /// <param name="spieler2">Gewählter Spielmodus für Spieler 2.</param>
 /// <returns>SpielStatus Objekt, für das neue Spiel.</returns>
 public SpielStatus InitSpiel(Spielmodi spieler1, Spielmodi spieler2)
 {
     this.spieler1 = spieler1;
     this.spieler2 = spieler2;
     status        = new SpielStatus(spieler1, spieler2);
     return(status);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Methode wird aufgerufen, damit die KI ihren Zug machen kann.
 /// </summary>
 /// <param name="erlaubt">Flag, ob ein KI-Zug noch nötig ist.</param>
 private void KIZugAbarbeiten(bool erlaubt)
 {
     //Dies tritt ein, wenn eine KI dran ist und läuft weiter, wenn der andere Spieler ebenfalls eine KI ist und das Spiel nicht beendet wurde.
     while (status.GetKiZug() && erlaubt)
     {
         status = sl.KiZug();
         AnzeigeErgebnis erg = Anzeigen();
         erlaubt = AnzeigeErgebnisBearbeiten(erg);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Startet eine neue Partie.
        /// </summary>
        private void SpielStarten()
        {
            status = sl.InitSpiel(spieler1Modus, spieler2Modus);

            for (int i = 0; i < buttons.GetLength(0); i++)
            {
                for (int j = 0; j < buttons.GetLength(1); j++)
                {
                    buttons[i, j].BackColor = nichtMarkiert;
                    buttons[i, j].Enabled   = true;
                }
            }
            Anzeigen();
        }
Exemplo n.º 4
0
 /// <summary>
 /// Methode, die von allen Buttons die das Spielfeld bilden aufgerufen wird. Identifiziert den Button und macht den entsprechenden Zug.
 /// </summary>
 /// <param name="sender">Objekt welches das Event auslöst.</param>
 /// <param name="e">Informationen zum Event.</param>
 private void Spielfeld_Click(object sender, EventArgs e)
 {
     //Wenn aktuell eine KI dran ist, wird der Klick ignoriert
     if (status.GetKiZug() == false)
     {
         for (int i = 0; i < buttons.GetLength(0); i++)
         {
             for (int j = 0; j < buttons.GetLength(1); j++)
             {
                 if (sender == buttons[i, j])
                 {
                     status = sl.MenschZug(i, j);
                 }
             }
         }
         //Ergebnis des Zuges anzeigen, Ergebnis der Anzeige verarbeiten, gegebenenfalls eine KI ihren Zug machen lassen
         KIZugAbarbeiten(AnzeigeErgebnisBearbeiten(Anzeigen()));
     }
 }