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.
 
 
 
 

125 lines
3.9 KiB

using MiniGames.Shared.Enums;
using MiniGames.Shared.Models;
using System;
using System.Linq;
namespace MiniGames.Client.ViewModel
{
public class Uno : IUno
{
public StapelModel AblageStabel { get; set; }
public bool IstAblageStabelFarbeGleichHand(string ablegeStapelKarte, string neueKarte)
{
if (ablegeStapelKarte.Equals(neueKarte))
{
return true;
}
else
{
return false;
}
}
public HandKartenModel ZiehEineKarte(HandKartenModel handStapel, StapelModel stapelModel)
{
HandKartenModel _handStapel = handStapel;
StapelModel _stapelModel = stapelModel;
_handStapel.KartenModels.Add(_stapelModel.KartenModels.FirstOrDefault());
return _handStapel;
}
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 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 static StapelModel AblagestapelZusammenstellen()
{
var standardKarten = Uno.ErstelleStandardKarten();
var spezialKarten = Uno.ErstelleFarbigeSpezialKarten();
var jokerKarten = Uno.ErstelleJokerKarten();
StapelModel stapelModel = new();
stapelModel.KartenModels = new();
stapelModel.KartenModels.AddRange(standardKarten.KartenModels);
stapelModel.KartenModels.AddRange(spezialKarten.KartenModels);
stapelModel.KartenModels.AddRange(jokerKarten.KartenModels);
return stapelModel;
}
}
}