示例#1
0
        public void NeuesSpiel_When_Vorher_SpielfarbeWurf_Blau_Und_Augenzahl_6__Und_Nachher_Rot_Und_6_Should_Set_IstAngekreutzt_Und_IstNichtAngekreuzbar_Nur_Für_Rot()
        {
            //Arrange
            QwixxBc qwixxBc = new QwixxBc();
            //Act
            Spielfeld spielfeld = qwixxBc.SpielfarbeWurf(Spielfarbe.Gelb, 6);

            spielfeld = qwixxBc.NeuesSpiel();
            spielfeld = qwixxBc.SpielfarbeWurf(Spielfarbe.Rot, 6);
            //Assert
            //Für Gelb ist nichts gesetzt:
            for (int i = 0; i < 11; i++)
            {
                Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][i].IstAngekreuzt, "Gelb[" + i.ToString() + "] IstAngekreuzt sollte false sein.");
                Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][i].IstNichtAnkreuzbar, "Gelb[" + i.ToString() + "] IstNichtAnkreuzbar sollte false sein.");
            }

            //Für Rot ist teilweise gesetzt:
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][4].IstAngekreuzt, "Rot[4] IstAngekreuzt sollte true sein.");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][4].IstNichtAnkreuzbar, "Rot[4] IstNichtAnkreuzbar sollte true sein.");
            Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][3].IstAngekreuzt, "Rot[3] IstAngekreuzt sollte false sein.");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][3].IstNichtAnkreuzbar, "Rot[3] IstNichtAnkreuzbar sollte true sein.");
            Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][2].IstAngekreuzt, "Rot[2] IstAngekreuzt sollte false sein.");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][2].IstNichtAnkreuzbar, "Rot[2] IstNichtAnkreuzbar sollte true sein.");
            Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][1].IstAngekreuzt, "Rot[1] IstAngekreuzt sollte false sein.");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][1].IstNichtAnkreuzbar, "Rot[1] IstNichtAnkreuzbar sollte true sein.");
            Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][0].IstAngekreuzt, "Rot[0] IstAngekreuzt sollte false sein.");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][0].IstNichtAnkreuzbar, "Rot[0] IstNichtAnkreuzbar sollte true sein.");
        }
示例#2
0
        /// <summary>
        /// Integriert Business Logik und UI durch verknüpfen der UI-Events mit den zugehörigen Business Logik Funktionen
        /// </summary>
        /// <param name="qwixxpage"></param>
        /// <param name="qwixxBc"></param>
        public Integration(QwixxPage qwixxpage, QwixxBc qwixxBc)
        {
            _qwixxPage = qwixxpage;
            _qwixxBc   = qwixxBc;

            //wenn ein Ankreuzfeld in Spielfarbe im UI gekreuzt wird
            _qwixxPage.Tapped += (spielfarbe, augenzahl) =>
            {
                Spielfeld spielfeld = _qwixxBc.SpielfarbeWurf(spielfarbe, augenzahl);
                _qwixxPage.SetzeSpielfeld(spielfeld);
            };

            //wenn ein Ankreuzfeld für einen Fehlversuch im UI gekreuzt wird
            _qwixxPage.TappedAnkreuzFeldFehlversuch += (feldindex) =>
            {
                Spielfeld spielfeld = _qwixxBc.Fehlversuch(feldindex);
                _qwixxPage.SetzeSpielfeld(spielfeld);
            };

            //wenn Berechnen im UI angeklickt wird
            _qwixxPage.Berechne += () =>
            {
                Spielstand spielstand = _qwixxBc.BerechneSpielstand();
                _qwixxPage.SetzeSpielstand(spielstand);
            };

            //wenn Neues Spiel im UI angeklickt wird
            _qwixxPage.NeuesSpiel += () =>
            {
                Start();
            };
        }
示例#3
0
        public void NeuesSpiel_When_Vorher_Spielfarbe_Blau_Augenzahl_6_Und_2_Fehlversuche_Und_Nachher_1_Fehlversuch_Should_Set_IstAngekreutzt_Und_IstNichtAngekreuzbar_False()
        {
            //Arrange
            QwixxBc qwixxBc = new QwixxBc();
            //Act
            Spielfeld spielfeld = qwixxBc.SpielfarbeWurf(Spielfarbe.Gelb, 6);

            spielfeld = qwixxBc.Fehlversuch(0);
            spielfeld = qwixxBc.Fehlversuch(1);
            spielfeld = qwixxBc.NeuesSpiel();
            spielfeld = qwixxBc.Fehlversuch(0);
            //Assert
            for (int i = 0; i < 11; i++)
            {
                Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][i].IstAngekreuzt, "Gelb[" + i.ToString() + "] IstAngekreuzt sollte false sein.");
                Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][i].IstNichtAnkreuzbar, "Gelb[" + i.ToString() + "] IstNichtAnkreuzbar sollte false sein.");
            }
            for (int i = 1; i < 4; i++)
            {
                Assert.IsFalse(spielfeld.AnkreuzFelderFehlversuche[i].IstAngekreuzt, "Fehlversuch[" + i.ToString() + "] IstAngekreuzt sollte false sein.");
                Assert.IsFalse(spielfeld.AnkreuzFelderFehlversuche[i].IstNichtAnkreuzbar, "Fehlversuch[" + i.ToString() + "] IstNichtAnkreuzbar sollte false sein.");
            }
            Assert.IsTrue(spielfeld.AnkreuzFelderFehlversuche[0].IstAngekreuzt, "Fehlversuch[0] IstAngekreuzt sollte true sein.");
            Assert.IsFalse(spielfeld.AnkreuzFelderFehlversuche[0].IstNichtAnkreuzbar, "Fehlversuch[0] IstNichtAnkreuzbar sollte false sein.");
        }
        public void PlatziereSchiff_SchiffeKorrektGesetzt_IsTrue()
        {
            var spielfeld = new Spielfeld(6, 6);

            spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Rechts, 0, 0); //Ich setzte das Schiff nach rechts auf Feld 0,0
            var felder = spielfeld.GetFelder();                            //Ich speichere mir alle Felder in der Variablen felder

            Assert.IsTrue(felder[0, 0].IsGesetzt);                         //Ich behaupte, dass das Schiff auf Feld 0,0 gesetzt ist
            Assert.IsTrue(felder[0, 1].IsGesetzt);                         //Ich behaupte, dass das Schiff auf Feld 0,1 gesetzt ist

            for (int i = 0; i < felder.GetLength(0); i++)
            {
                for (int u = 0; u < felder.GetLength(1); u++)
                {
                    if (u != 0 && u != 1 && i == 0)
                    {
                        //Ich behaupte, dass auf allen Feldern, außer 0,1 und 0,0 das Schiff nicht gesetzt wurde
                        Assert.IsTrue(!felder[i, u].IsGesetzt);
                    }
                }
            }

            //1. Schritt: Vorbedingung z.B. IsKoordinatenAußerhalbDesSpielfelds() --> Innerhalb der Methode selbst abtesten vor der Ausführung
            //2. Schritt: Unit Tests --> z.B. für Core Komponenten ein paar Fälle ausdenken und testen (Test härter gestalten, weil FUnktion oft im Code gebraucht wird)
            //Wenn Tests sich zu oft ändern würde, ist KEIN Test besser!
            //Test sinnvoll: Funktioniert Methode im Standardfall? Gut wenn Methode selbst ihre Vorbed. absichert.
            //Abwägungssache bei Unit tests

            //Ein weiteres Schiff wird auf das gleiche Spielfeld gesetzt
            spielfeld.PlatziereSchiff(4, Schiffsausrichtung.Links, 5, 5);
            Assert.IsTrue(felder[5, 5].IsGesetzt);
            Assert.IsTrue(felder[5, 4].IsGesetzt);
            Assert.IsTrue(felder[5, 3].IsGesetzt);
            Assert.IsTrue(felder[5, 2].IsGesetzt);
        }
示例#5
0
        public void Konstruktor_Erzeugt_4_Farbige_Reihen_mit_12_Boxes_Und_Fehlversuche_Reihe_Mit_4_Boxes()
        {
            var spielfeld = new Spielfeld();

            Assert.AreEqual(4, spielfeld.AnkreuzFelderSpielfarbe.Count);

            Assert.AreEqual(12, spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot].GetLength(0));
            Assert.AreEqual(12, spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb].GetLength(0));
            Assert.AreEqual(12, spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen].GetLength(0));
            Assert.AreEqual(12, spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau].GetLength(0));

            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][0], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][10], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][1], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][9], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][2], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][8], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][0], typeof(AnkreuzFeldAugenzahl));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][10], typeof(AnkreuzFeldAugenzahl));

            Assert.IsFalse(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][10].IstSchloss, "Rot vorletztes Feld sollte IstSchloss=false sein");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][11].IstSchloss, "Rot letztes Feld sollte IstSchloss=true sein");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][11].IstSchloss, "Gelb letztes Feld sollte IstSchloss=true sein");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][11].IstSchloss, "Grün letztes Feld sollte IstSchloss=true sein");
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][11].IstSchloss, "Blau letztes Feld sollte IstSchloss=true sein");

            Assert.AreEqual(4, spielfeld.AnkreuzFelderFehlversuche.GetLength(0));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderFehlversuche[0], typeof(AnkreuzFeld));
            Assert.IsInstanceOfType(spielfeld.AnkreuzFelderFehlversuche[3], typeof(AnkreuzFeld));
        }
        public void PlatziereSchiff_SpielfeldRandUeberschreitung_ThrowException()
        {
            var spielfeld = new Spielfeld(6, 6);

            //1. Test: Wird eine Fehlermeldung ausgeworfen, wenn das Schiff den Spielfeldrand überschreitet?
            //Zur Syntax: https://visualstudiomagazine.com/blogs/tool-tracker/2018/11/test-exceptions.aspx
            //Jede einzelne Methode muss getrennt auf Fehlermeldung getestet werden!
            Assert.ThrowsException <Exception>(() =>
            {
                spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Oben, 0, 0);
            });

            Assert.ThrowsException <Exception>(() =>
            {
                spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Rechts, 0, 5);
            });

            Assert.ThrowsException <Exception>(() =>
            {
                spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Links, 5, 0);
            });

            Assert.ThrowsException <Exception>(() =>
            {
                spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Unten, 5, 5);
            });

            Assert.ThrowsException <Exception>(Do);
        }
示例#7
0
        public void ErmittleAnzeigeAugenzahl_When_Spielfarbe_Blau_Augenzahl_2_Returns_12()
        {
            //Arrange
            var spielfeld = new Spielfeld();

            //Act
            var result = spielfeld.ErmittleAnzeigeAugenzahl(Spielfarbe.Blau, 2, Spielfeld.AnzahlFelderJeSpielfarbe);

            //Assert
            Assert.AreEqual("12", result);

            //Act
            result = spielfeld.ErmittleAnzeigeAugenzahl(Spielfarbe.Blau, 6, Spielfeld.AnzahlFelderJeSpielfarbe);
            //Assert
            Assert.AreEqual("8", result);

            //Act
            result = spielfeld.ErmittleAnzeigeAugenzahl(Spielfarbe.Blau, 7, Spielfeld.AnzahlFelderJeSpielfarbe);
            //Assert
            Assert.AreEqual("7", result);

            //Act
            result = spielfeld.ErmittleAnzeigeAugenzahl(Spielfarbe.Blau, 8, Spielfeld.AnzahlFelderJeSpielfarbe);
            //Assert
            Assert.AreEqual("6", result);

            //Act
            result = spielfeld.ErmittleAnzeigeAugenzahl(Spielfarbe.Blau, 12, Spielfeld.AnzahlFelderJeSpielfarbe);
            //Assert
            Assert.AreEqual("2", result);
        }
示例#8
0
        public void SpielstandBerechnen_When_Spielfeld_Mit_4_Kreuzen_In_Jeder_Farbreihe_Should_Return_Spielstand_Mit_Gesamtsumme_40()
        {
            //Arrange
            Spielfeld spielfeld = new Spielfeld();

            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][1].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][3].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][5].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][7].IstAngekreuzt = true;

            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][1].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][3].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][5].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gelb][7].IstAngekreuzt = true;

            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][1].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][3].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][5].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Gruen][7].IstAngekreuzt = true;

            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][1].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][3].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][5].IstAngekreuzt = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][7].IstAngekreuzt = true;

            Spielstand spielstand = new Spielstand();

            //Act
            Spielstand result = spielstand.SpielstandBerechnen(spielfeld);

            //Assert
            Assert.AreEqual(40, result.SummeGesamt);
        }
示例#9
0
        public void SummeBerechnen_When_Spielfeld_Mit_11_Kreuzen_In_Reihe_Blau_Should_Return_66()
        {
            //Arrange
            Spielfeld spielfeld = new Spielfeld();

            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][0].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][1].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][2].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][3].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][4].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][5].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][6].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][7].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][8].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][9].IstAngekreuzt  = true;
            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Blau][10].IstAngekreuzt = true;

            Spielstand spielstand = new Spielstand();

            //Act
            var result = spielstand.SummeBerechnen(spielfeld, Spielfarbe.Blau);

            //Assert
            Assert.AreEqual(66, result);
        }
        public void PlatziereSchiffeZufaellig_AnzahlGesetzterSchiffe_IsEqual()
        {
            var spielfeld = new Spielfeld(6, 6);

            var alleSchiffsGroessen = new int[] { 2, 3, 4 };
            var summeSchiffe        = 0;

            foreach (var schiff in alleSchiffsGroessen)
            {
                summeSchiffe += schiff;
            }

            spielfeld.PlatziereSchiffeZufaellig(alleSchiffsGroessen);

            int alleGesetztenSchiffe = 0;
            //Teste: Sind wirklich alle Schiffe gesetzt worden ODER sind 9 Schiffe auf dem Feld

            //------------------------------------------------------FRAGE: WARUM GEHT FOLGENDES NICHT:
            //foreach (var feld in spielfeld)
            //{
            //    feld.IsGesetzt;
            //}

            var felder = spielfeld.GetFelder(); //FRAGE: ------------------------------------------------------WARUM MUSS ICH HIER GETFELDER AUFRUFEN?

            foreach (var feld in felder)
            {
                if (feld.IsGesetzt)
                {
                    alleGesetztenSchiffe += 1;
                }
            }

            Assert.AreEqual(summeSchiffe, alleGesetztenSchiffe);
        }
示例#11
0
        public void GameFieldCount()
        {
            Spielfeld s = new Spielfeld();

            s.GetBoard();
            Assert.IsTrue(s.GetBoard().Length == 9);
        }
示例#12
0
        public Spieler(string name, int leben, int spielerNR, Spielfeld spielfeld)
        {
            this.name  = name;
            this.leben = leben;
            handImages = new Image[4];
            feldImages = new Image[4];

            if (spielerNR == 0)
            {
                handImages[0] = spielfeld.imgSpieler1Feld1;
                handImages[1] = spielfeld.imgSpieler1Feld2;
                handImages[2] = spielfeld.imgSpieler1Feld3;
                handImages[3] = spielfeld.imgSpieler1Feld4;

                feldImages[0] = spielfeld.imgSpieler1Spielfeld1;
                feldImages[1] = spielfeld.imgSpieler1Spielfeld2;
                feldImages[2] = spielfeld.imgSpieler1Spielfeld3;
                feldImages[3] = spielfeld.imgSpieler1Spielfeld4;
            }
            else if (spielerNR == 1)
            {
                handImages[0] = spielfeld.imgSpieler2Feld1;
                handImages[1] = spielfeld.imgSpieler2Feld2;
                handImages[2] = spielfeld.imgSpieler2Feld3;
                handImages[3] = spielfeld.imgSpieler2Feld4;

                feldImages[0] = spielfeld.imgSpieler2Spielfeld1;
                feldImages[1] = spielfeld.imgSpieler2Spielfeld2;
                feldImages[2] = spielfeld.imgSpieler2Spielfeld3;
                feldImages[3] = spielfeld.imgSpieler2Spielfeld4;
            }
        }
示例#13
0
        public void TurnInvalid()
        {
            Spielfeld s = new Spielfeld();

            s.GetBoard();
            s.Turn(new Point(0, 0));
            Assert.IsTrue(s.Turn(new Point(0, 0)) == TurnResult.Invalid);
        }
示例#14
0
        public Gameplay()
        {
            InitializeComponent();

            spielfeldlogik         = new Spielfeld(this, new StatistikManager());
            spielfeldZeichenfläche = gui;
            spielfeldlogik.NeuesSpiel(Spieltyp.A);
        }
示例#15
0
        public MainWindow()
        {
            InitializeComponent();

            this.KeyDown   += new KeyEventHandler(OnCanvasKeyDown);
            dasSpielfeld    = new Spielfeld(this, new CetrisStatistik());
            SpielfeldCanvas = MyGrid;
            dasSpielfeld.StarteSpiel();
        }
        public void SetzeSchuss_IsGetroffen_IsTrue()
        {
            var spielfeld = new Spielfeld(6, 6);

            spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Unten, 0, 0);
            spielfeld.SetzeSchuss(0, 0);


            Assert.IsTrue(spielfeld.GetFelder()[0, 0].IsGetroffen);
        }
示例#17
0
        public static void InitSpieler(int leben, Spielfeld spielfeld)
        {
            Spiel.spielfeld = spielfeld;

            spieler[0] = new Spieler(Login.window.txtSpieler1Name.Text, leben, 0, spielfeld);
            spieler[1] = new Spieler(Login.window.txtSpieler2Name.Text, leben, 1, spielfeld);

            spielfeld.lblSpieler1.Content = spieler[0].name;
            spielfeld.lblSpieler2.Content = spieler[1].name;
        }
        public void PlatziereSchiff_SchiffeUeberkreuzenSich_ThrowException()
        {
            var spieldfeld = new Spielfeld(6, 6);

            spieldfeld.PlatziereSchiff(2, Schiffsausrichtung.Rechts, 0, 0);
            Assert.ThrowsException <Exception>(() =>
            {
                spieldfeld.PlatziereSchiff(2, Schiffsausrichtung.Oben, 1, 1);
            });
        }
示例#19
0
 public GameGUI(GameController ctr)
 {
     InitializeComponent();
     this.Ctr = ctr;
     Ctr.AnzZeilenSpalten();
     Y         = Ctr.anzZeilen;
     X         = Ctr.anzSpalten;
     spieler   = Ctr.spieler;
     spielfeld = Ctr.spielfeld;
 }
示例#20
0
        public void SpielfarbeWurf_When_Spielfarbe_Rot_Und_Augenzahl_12_Should_Set_AnkreuzFeld_IstAngekreuzt_True()
        {
            //Arrange
            QwixxBc qwixxBc = new QwixxBc();
            //Act
            Spielfeld spielfeld = qwixxBc.SpielfarbeWurf(Spielfarbe.Rot, 12);

            //Assert
            Assert.IsTrue(spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][10].IstAngekreuzt);
        }
示例#21
0
        /// <summary>
        /// Startet ein neues Spiel mit leerem Spielstand in der Business Logik und aktualisiert das UI
        /// </summary>
        public void Start()
        {
            Spielfeld spielfeld = _qwixxBc.NeuesSpiel();

            _qwixxPage.SetzeSpielfeld(spielfeld);

            Spielstand spielstand = _qwixxBc.BerechneSpielstand();

            _qwixxPage.SetzeSpielstand(spielstand);
        }
示例#22
0
 public void AnzZeilenSpalten()
 {
     spiel = new Spiel(anzZeilen, anzSpalten);
     spiel.spielStarten();
     spieler   = spiel.spieler;
     spielfeld = spiel.spielfeld;
     feld      = spielfeld.feld;
     player1   = spieler.player1;
     player2   = spieler.player2;
 }
        public void IsJedesSchiffGetroffen()
        {
            var spielfeld = new Spielfeld(6, 6);

            spielfeld.PlatziereSchiff(2, Schiffsausrichtung.Unten, 0, 0);
            spielfeld.SetzeSchuss(0, 0);
            spielfeld.SetzeSchuss(1, 0);

            Assert.IsTrue(spielfeld.IsJedesSchiffGetroffen());
        }
示例#24
0
        public void ErmittleAnzeigeAugenzahl_When_Spielfarbe_Rot_Augenzahl_2_Returns_2()
        {
            //Arrange
            var spielfeld = new Spielfeld();

            //Act
            var result = spielfeld.ErmittleAnzeigeAugenzahl(Spielfarbe.Rot, 2, Spielfeld.AnzahlFelderJeSpielfarbe);

            //Assert
            Assert.AreEqual("2", result);
        }
示例#25
0
 public PageGame()
 {
     InitializeComponent();
     _game = new Spielfeld();
     //Sounds from https://soundimage.org/
     _validSoundX  = new SoundPlayer(@"Sounds\custom_20.wav");
     _validSoundO  = new SoundPlayer(@"Sounds\custom_21.wav");
     _invalidSound = new SoundPlayer(@"Sounds\light-switch-pull-chain-daniel_simon.wav");
     _tieSound     = new SoundPlayer(@"Sounds\LOOP24_172BPM.wav");
     _winSound     = new SoundPlayer(@"Sounds\LOOP15_140BPM.wav");
 }
示例#26
0
        public void TurnToWinVerticalCol2()
        {
            Spielfeld s = new Spielfeld();

            s.GetBoard();
            s.Turn(new Point(0, 2));
            s.Turn(new Point(0, 1));
            s.Turn(new Point(1, 2));

            s.Turn(new Point(1, 1));
            Assert.IsTrue(s.Turn(new Point(2, 2)) == TurnResult.Win);
        }
示例#27
0
        public void TurnToWinHorizontalRow2()
        {
            Spielfeld s = new Spielfeld();

            s.GetBoard();
            s.Turn(new Point(2, 0));
            s.Turn(new Point(0, 0));
            s.Turn(new Point(2, 1));

            s.Turn(new Point(0, 1));
            Assert.IsTrue(s.Turn(new Point(2, 2)) == TurnResult.Win);
        }
示例#28
0
        public void TurnToWinDiagonal1()
        {
            Spielfeld s = new Spielfeld();

            s.GetBoard();
            s.Turn(new Point(0, 2));
            s.Turn(new Point(0, 1));
            s.Turn(new Point(1, 1));

            s.Turn(new Point(2, 1));
            Assert.IsTrue(s.Turn(new Point(2, 0)) == TurnResult.Win);
        }
示例#29
0
        public void SpielstandBerechnen_When_Keine_Kreuze_Should_Return_Spielstand_Mit_Gesamtsumme_0()
        {
            //Arrange
            Spielfeld spielfeld = new Spielfeld();

            Spielstand spielstand = new Spielstand();

            //Act
            Spielstand result = spielstand.SpielstandBerechnen(spielfeld);

            //Assert
            Assert.AreEqual(0, result.SummeGesamt);
        }
示例#30
0
        public void SummeBerechnen_When_Spielfeld_Ohne_Kreuze_Should_Return_0()
        {
            //Arrange
            Spielfeld spielfeld = new Spielfeld();

            Spielstand spielstand = new Spielstand();

            //Act
            var result = spielstand.SummeBerechnen(spielfeld, Spielfarbe.Rot);

            //Assert
            Assert.AreEqual(0, result);
        }