restructure

This commit is contained in:
2023-03-21 09:41:48 +01:00
parent b7483d56a9
commit 1e4b69f83a
15 changed files with 3 additions and 3 deletions

59
Mau/Deck.cs Normal file
View File

@@ -0,0 +1,59 @@
namespace MauMau_Server.Mau;
public class Deck
{
public List<Card> UnusedDeck = new();
public List<Card> UsedDeck = new();
public Deck()
{
foreach (CardType cardType in Enum.GetValues(typeof(CardType)))
{
foreach (CardValue cardValue in Enum.GetValues(typeof(CardValue)))
{
UnusedDeck.Add(new Card(cardType, cardValue));
}
}
ShuffleDeck();
}
public List<Card> GetUnusedDeck()
{
return UnusedDeck;
}
public Card DrawCard()
{
if (UnusedDeck.Count == 0) ReshuffleDeck();
var card = UnusedDeck[0];
UnusedDeck.RemoveAt(0);
return card;
}
public List<Card> DrawCards(int amount)
{
var cards = new List<Card>();
for (var i = 0; i < amount; i++)
{
cards.Add(DrawCard());
}
return cards;
}
public void AddCardToUsedDeck(Card card)
{
UsedDeck.Add(card);
}
private void ReshuffleDeck()
{
UnusedDeck.AddRange(UsedDeck);
UsedDeck.Clear();
ShuffleDeck();
}
private void ShuffleDeck()
{
UnusedDeck = UnusedDeck.OrderBy(x => Guid.NewGuid()).ToList();
}
}