Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
0
 public void SetSpielstand(Spielstand t)
 {
     TeamA_Master = t.Punkte_Master_TeamA;
     TeamA_Live   = t.Punkte_Live_TeamA;
     TeamB_Master = t.Punkte_Master_TeamB;
     TeamB_Live   = t.Punkte_Live_TeamB;
 }
Ejemplo n.º 4
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();
            };
        }
Ejemplo n.º 5
0
        public Spielstand AsSpielstand()
        {
            var t = new Spielstand();

            t.SetLiveValues(TeamA_Live, TeamB_Live);
            t.SetMasterTeamAValue(TeamA_Master);
            t.SetMasterTeamBValue(TeamB_Master);
            return(t);
        }
Ejemplo n.º 6
0
    //Save() erstellt ein Objekt vom Typ Spielstand und speichert es in einer externen Datei
    public static void Save()
    {
        spielstand = new Spielstand();
        BinaryFormatter bf   = new BinaryFormatter();
        FileStream      file = File.Create(Application.persistentDataPath + "/savedGame.sav");

        bf.Serialize(file, spielstand);
        file.Close();
    }
Ejemplo n.º 7
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);
        }
Ejemplo n.º 8
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);
        }
Ejemplo n.º 9
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);
        }
Ejemplo n.º 10
0
        public void SummeBerechnen_When_Spielfeld_Mit_1_Kreuz_In_Reihe_Rot_Should_Return_1()
        {
            //Arrange
            Spielfeld spielfeld = new Spielfeld();

            spielfeld.AnkreuzFelderSpielfarbe[Spielfarbe.Rot][2].IstAngekreuzt = true;

            Spielstand spielstand = new Spielstand();

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

            //Assert
            Assert.AreEqual(1, result);
        }
Ejemplo n.º 11
0
    //Load() liest den Spielstand aus der externen Datei ein
    public static void Load()
    {
        if (File.Exists(Application.persistentDataPath + "/savedGame.sav"))
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(Application.persistentDataPath + "/savedGame.sav", FileMode.Open);
            Debug.Log(Application.persistentDataPath);
            spielstand = (Spielstand)bf.Deserialize(file);
            file.Close();

            //sofern bereits Orte gefunden wurden, werden diese Orte als gefunden markiert und die entsprechenden Bereiche auf der Karte werden entfernt.
            if (spielstand.gefundeneOrte.Count > 0)
            {
                for (int i = 0; i < spielstand.gefundeneOrte.Count; i++)
                {
                    GameObject.Find(spielstand.gefundeneOrte[i]).GetComponent <DefaultTrackableEventHandler>().isFound = true;
                    Object.Destroy(GameObject.Find(spielstand.gefundeneOrte[i]).GetComponent <DefaultTrackableEventHandler>().interaktivesZiel);
                }
            }

            //Wenn es bereits einen Spielstand gab, wird der Kamera-Modus aufgerufen. Dadurch wird der Willkommens-Dialog nur dann angezeigt, wenn die App das erste Mal geöffnet wird, es also noch keinen Spielstand gab.
            GameObject.Find("Canvas").GetComponent <AppMenu>().ARCamMode();
        }
    }