コード例 #1
0
ファイル: QwixxBc.cs プロジェクト: hboch/Qwixx-Xamarin
 public bool IstFeldAnkreuzbar(Spielfeld spielfeld, Spielfarbe spielfarbe, int spielfarbeAnkreuzfeldIndex)
 {
     if (spielfeld.AnkreuzFelderSpielfarbe[spielfarbe][spielfarbeAnkreuzfeldIndex].IstAnkreuzbar)
     {
         if (spielfeld.AnkreuzFelderSpielfarbe[spielfarbe][spielfarbeAnkreuzfeldIndex].IstSchloss)
         {
             if (spielfeld.AnkreuzFelderSpielfarbe[spielfarbe].Where(feld => feld.IstAngekreuzt).Count() >= 5)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
         else
         {
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
コード例 #2
0
ファイル: QwixxBc.cs プロジェクト: hboch/Qwixx-Xamarin
        public Spielfeld NeuesSpiel()
        {
            //Spielfeld _spielfeld = new Spielfeld();

            _spielfeld  = new Spielfeld();
            _spielstand = new Spielstand();

            return(_spielfeld);
        }
コード例 #3
0
ファイル: Spielstand.cs プロジェクト: hboch/Qwixx-Xamarin
        public int SummeBerechnenFehlversuche(Spielfeld spielfeld)
        {
            int minusPunkteJeFehlversuch = 5;
            int result = 0;

            int anzahlKreuze = spielfeld.AnkreuzFelderFehlversuche.Where((box) => box.IstAngekreuzt).Count();

            result = minusPunkteJeFehlversuch * anzahlKreuze;
            return(result);
        }
コード例 #4
0
ファイル: Spielstand.cs プロジェクト: hboch/Qwixx-Xamarin
        public int SummeBerechnen(Spielfeld spielfeld, Spielfarbe spielfarbe)
        {
            int[] anzahlKreuzeZuPunkten = { 0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78 };
            int   result;

            int anzahlKreuze = spielfeld.AnkreuzFelderSpielfarbe[spielfarbe].Where((box) => box.IstAngekreuzt).Count();

            result = anzahlKreuzeZuPunkten[anzahlKreuze];
            return(result);
        }
コード例 #5
0
ファイル: Spielstand.cs プロジェクト: hboch/Qwixx-Xamarin
        public Spielstand SpielstandBerechnen(Spielfeld spielfeld)
        {
            Spielstand result = new Spielstand()
            {
                SummeRot          = SummeBerechnen(spielfeld, Spielfarbe.Rot),
                SummeGelb         = SummeBerechnen(spielfeld, Spielfarbe.Gelb),
                SummeGruen        = SummeBerechnen(spielfeld, Spielfarbe.Gruen),
                SummeBlau         = SummeBerechnen(spielfeld, Spielfarbe.Blau),
                SummeFehlversuche = SummeBerechnenFehlversuche(spielfeld)
            };

            //GesamtSumme ist die Summe aller Farben- und Fehlversuchsummen:
            result.SummeGesamt = result.SummeRot + result.SummeGelb + result.SummeGruen + result.SummeBlau - result.SummeFehlversuche;

            return(result);
        }
コード例 #6
0
ファイル: QwixxPage.xaml.cs プロジェクト: hboch/Qwixx-Xamarin
        /// <summary>
        /// Aktuelle Spielfeldinformationen in der UI darstellen
        /// </summary>
        /// <param name="spielfeld"></param>
        public void SetzeSpielfeld(Spielfeld spielfeld)
        {
            //Ankreuzfelder in Spielfarbe setzen
            int zeile = 0;

            foreach (var ankreuzFelderSpielfarbe in spielfeld.AnkreuzFelderSpielfarbe)
            {
                Spielfarbe spielfarbe = ankreuzFelderSpielfarbe.Key;

                int spalte = 0;
                foreach (var ankreuzFeld in ankreuzFelderSpielfarbe.Value)
                {
                    // Create the tile
                    TileAnkreuzFeldSpielfarbe tile = new TileAnkreuzFeldSpielfarbe(ankreuzFeld, spielfarbe);

                    // Add tap recognition.
                    TapGestureRecognizer tapGestureRecognizer = new TapGestureRecognizer();
                    tapGestureRecognizer.Tapped += OnTileTappedAsync;
                    tile.TileContentView.GestureRecognizers.Add(tapGestureRecognizer);

                    gridAnkreuzFelderSpielfarben.Children.Add(tile.TileContentView, spalte, zeile);

                    spalte++;
                }
                zeile++;
            }

            //Ankreuzfelder der Fehlversuche setzen
            int spalteAnkreuzFeldFehlversuch = 0;

            foreach (var ankreuzFeld in spielfeld.AnkreuzFelderFehlversuche)
            {
                // Create the tile
                TileAnkreuzFeldFehlversuch tile = new TileAnkreuzFeldFehlversuch(spalteAnkreuzFeldFehlversuch, ankreuzFeld.IstAngekreuzt, ankreuzFeld.IstNichtAnkreuzbar);

                // Add tap recognition.
                TapGestureRecognizer tapGestureRecognizer = new TapGestureRecognizer();
                tapGestureRecognizer.Tapped += OnTileAnkreuzFeldFehlversuchTappedAsync;
                tile.TileContentView.GestureRecognizers.Add(tapGestureRecognizer);

                gridFehlversuche.Children.Add(tile.TileContentView, spalteAnkreuzFeldFehlversuch, 0);

                spalteAnkreuzFeldFehlversuch++;
            }
        }
コード例 #7
0
ファイル: QwixxBc.cs プロジェクト: hboch/Qwixx-Xamarin
 public QwixxBc()
 {
     _spielfeld = NeuesSpiel();
 }