diff --git a/Mau/Deck.cs b/Mau/Deck.cs index 9a74f8d..50ffedc 100644 --- a/Mau/Deck.cs +++ b/Mau/Deck.cs @@ -6,6 +6,12 @@ public class Deck public List UsedDeck = new(); public Deck() + { + CreateSet(); + ShuffleDeck(); + } + + private void CreateSet() { foreach (CardType cardType in Enum.GetValues(typeof(CardType))) { @@ -21,7 +27,6 @@ public class Deck UnusedDeck.Add(new Card(cardType, cardValue)); } } - ShuffleDeck(); } public List GetUnusedDeck() @@ -56,6 +61,12 @@ public class Deck { UnusedDeck.AddRange(UsedDeck); UsedDeck.Clear(); + + if (UnusedDeck.Count == 0) + { + CreateSet(); + } + ShuffleDeck(); } diff --git a/Mau/GameState.cs b/Mau/GameState.cs index 8afcf41..91cac2e 100644 --- a/Mau/GameState.cs +++ b/Mau/GameState.cs @@ -33,10 +33,12 @@ public class PlayerDTO { public string Name { get; set; } public string Id { get; set; } + public int CardsLeft { get; set; } public PlayerDTO(Player player) { Name = player.Connection.Name; Id = player.Connection.ConnectionId; + CardsLeft = player.Hand.Count; } } \ No newline at end of file diff --git a/Room/Room.cs b/Room/Room.cs index d0c4cc7..753e620 100644 --- a/Room/Room.cs +++ b/Room/Room.cs @@ -1,5 +1,6 @@ using System.Net.WebSockets; using System.Text.Json; +using System.Text.RegularExpressions; using MauMau_Server.Mau; namespace MauMau_Server.Websockets; @@ -45,7 +46,12 @@ public class Room } case "CHAT": { - _chat.SendChatMessage(connection, message.Payload); + var cleanedMessage = StripHTML(message.Payload); + if (string.IsNullOrWhiteSpace(cleanedMessage)) + { + cleanedMessage = "Mau!"; + }; + _chat.SendChatMessage(connection, cleanedMessage); break; } } @@ -103,4 +109,9 @@ public class Room { return _connections.Count == 0; } + + private static string StripHTML(string input) + { + return Regex.Replace(input, "<.*?>", String.Empty); + } } \ No newline at end of file