Continous Integration in der Praxis Gruppenarbeit
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using MiniGames.Shared.Enums; using MiniGames.Shared.Models; using System; using System.Collections.Generic; using System.Linq;
namespace MiniGames.Client.ViewModel { public class Uno : IUno { public StapelModel KartenAblageStapel { get; set; } = new(); public StapelModel ZiehKartenStapel { get; set; } = new(); public List<HandKartenModel> Spieler { get; set; } = new(); public int NaechsterSpielerId { get; set; }
public bool IstAblageStapelFarbeGleichZuLegendeKarte(string neueKarteFarbe) { bool ergebnis;
_ = KartenAblageStapel.KartenModels.LastOrDefault().Farbe.Equals(neueKarteFarbe) ? ergebnis = true : ergebnis = false;
return ergebnis; }
public bool IstAblageStapelZahlGleichZuLegendeKarte(string handStapelKarteBezeichnung) { bool ergebnis;
_ = KartenAblageStapel.KartenModels.LastOrDefault().Name.Equals(handStapelKarteBezeichnung) ? ergebnis = true : ergebnis = false;
return ergebnis; }
public void ZiehEineKarte(int id) { int _id = id; int index = Spieler.FindIndex(x => x.SpielerModel.Id == _id);
Spieler[index].KartenModels.Add(ZiehKartenStapel.KartenModels.FirstOrDefault()); ZiehKartenStapel.KartenModels.RemoveAt(0); }
public void KarteAufStapelLegen(int id, KartenModel zuLegendeKarte) { int _id = id; StapelModel _stapelModel = new(); _stapelModel.KartenModels = new(); const string _plusZweiKarte = "PlusZweiKarte"; const string _retoureKarte = "RetoureKarte"; const string _aussetzenKarte = "AussetzenKarte";
if (KartenAblageStapel.KartenModels is null) { KartenAblageStapel.KartenModels = new(); }
switch (zuLegendeKarte.Name) { case _plusZweiKarte: for (int i = 0; i < 2; i++) { ZiehEineKarte(_id); } break; case _retoureKarte: break; case _aussetzenKarte: break; default: break;
}
}
public void SpielerErstellen(string spielerName) { string _spielerName = spielerName; Spieler.Add( new HandKartenModel { SpielerModel = new() { Id = Spieler.Count() + 1, SpielerName = _spielerName, }, KartenModels = new() }); }
public void SpielerWahl(int aktuellerSpielerId, bool uhrZeigerSinn) { var aktuellerSpielerIndex = Spieler.FindIndex(x => x.SpielerModel.Id == aktuellerSpielerId); if (uhrZeigerSinn) { if (aktuellerSpielerIndex == Spieler.Count() - 1) { NaechsterSpielerId = 1; } else { NaechsterSpielerId = Spieler[aktuellerSpielerIndex + 1].SpielerModel.Id; } } else { if (aktuellerSpielerIndex != 0) { NaechsterSpielerId = Spieler[aktuellerSpielerIndex - 1].SpielerModel.Id; } else { NaechsterSpielerId = Spieler.LastOrDefault().SpielerModel.Id; } } }
#region Stapel Erstellen
public static StapelModel ErstelleStandardKarten() { StapelModel stapelModel = new(); stapelModel.KartenModels = new(); for (int f = 1; f <= 4; f++) { for (int k = 1; k <= 19; k++) { var kartenbezeichnung = (Kartenbezeichnung)k; var kartenfarbe = (Farbe)f; stapelModel.KartenModels.Add( new KartenModel { Name = kartenbezeichnung.ToString(), Farbe = kartenfarbe.ToString(), Spezial = false } ); } }
return stapelModel; }
public static StapelModel ErstelleFarbigeSpezialKarten() { StapelModel stapelModel = new(); stapelModel.KartenModels = new(); for (int k = 10; k <= 12; k++) { for (int f = 1; f <= 4; f++) { for (int i = 0; i < 2; i++) { var _kartenbezeichnung = (Kartenbezeichnung)k; var kartenfarbe = (Farbe)f; stapelModel.KartenModels.Add( new KartenModel { Name = _kartenbezeichnung.ToString(), Farbe = kartenfarbe.ToString(), Spezial = true } ); } } }
return stapelModel; }
public void InitialeKartenVerteilung() { for (int i = 0; i < 7; i++) { foreach (var spieler in Spieler) { spieler.KartenModels.Add(ZiehKartenStapel.KartenModels.FirstOrDefault()); ZiehKartenStapel.KartenModels.RemoveAt(0); } }
}
public static StapelModel ErstelleJokerKarten() { StapelModel stapelModel = new(); stapelModel.KartenModels = new();
for (int k = 13; k <= 14; k++) { for (int a = 0; a < 4; a++) { var kartenbezeichnung = (Kartenbezeichnung)k; stapelModel.KartenModels.Add( new KartenModel { Name = kartenbezeichnung.ToString(), Farbe = Farbe.Keine.ToString(), Spezial = true } ); }
}
return stapelModel; }
public void ZiehKartenStapelZusammenstellen() { var standardKarten = Uno.ErstelleStandardKarten(); var spezialKarten = Uno.ErstelleFarbigeSpezialKarten(); var jokerKarten = Uno.ErstelleJokerKarten();
ZiehKartenStapel.KartenModels = new(); ZiehKartenStapel.KartenModels.AddRange(standardKarten.KartenModels); ZiehKartenStapel.KartenModels.AddRange(spezialKarten.KartenModels); ZiehKartenStapel.KartenModels.AddRange(jokerKarten.KartenModels); }
#endregion
} }
|