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); } }
public Spielfeld NeuesSpiel() { //Spielfeld _spielfeld = new Spielfeld(); _spielfeld = new Spielfeld(); _spielstand = new Spielstand(); return(_spielfeld); }
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); }
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); }
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); }
/// <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++; } }
public QwixxBc() { _spielfeld = NeuesSpiel(); }