From de426c4cf48092454d09972a1f9912cc035118e5 Mon Sep 17 00:00:00 2001 From: Daithi Hearn Date: Sun, 9 Jul 2023 23:03:16 +0200 Subject: [PATCH] Improving buy risk logic If you have 5 trumps down warn the player --- src/utils/GameUtils.ts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/utils/GameUtils.ts b/src/utils/GameUtils.ts index 3868fd8..ff2220f 100644 --- a/src/utils/GameUtils.ts +++ b/src/utils/GameUtils.ts @@ -83,9 +83,32 @@ export const riskOfMistakeBuyingCards = ( selectedCards: T[], myCards: T[], ) => { + // If you have selected 5 trumps then return false + if (areAllTrumpCards(selectedCards, suit)) { + return false + } + const deletingCards = removeAllFromHand(selectedCards, myCards) - for (const element of deletingCards) { + return containsATrumpCard(deletingCards, suit) +} + +export const areAllTrumpCards = (cards: T[], suit: Suit) => { + for (const element of cards) { + if ( + element.name !== "JOKER" && + element.name !== "ACE_HEARTS" && + element.suit !== suit + ) { + return false + } + } + + return true +} + +export const containsATrumpCard = (cards: T[], suit: Suit) => { + for (const element of cards) { if ( element.name === "JOKER" || element.name === "ACE_HEARTS" ||