Open Joelius300 opened 1 year ago
It seems like there is confusion regarding the rules of Jass, particularly the Schieber variant, and how the get_valid_cards function works.
In Schieber, if a player doesn't have a card of the suit that was led (in this case, ♣ since the first card played was ♣6), they are free to play any card. This rule applies regardless of whether they hold trump cards or other cards.
So in your example:
The trick is: ♣6, ♦J, ♦10
The player's hand is: ♦A, ♦9, ♦6, ♠10
The player has no ♣ (the suit that was led), so the player is allowed to play any card.
No, that is not correct. According to the rules of Schieber, it is not allowed to play a lower trump card, if a higher one has been played, except if you have only trump cards.
I believe to have found a bug in
RuleSchieber.get_valid_cards
.Example:
Trump declared as ♦ \ The following trick is already in play (in that order): ♣6, ♦J , ♦10 \ The last player has the hand : ♦A, ♦9, ♦6 , ♠10
From my limited knowledge about Jass, I think the player should only be able to play ♠10 but the function returns ♦A, ♦9, ♠10.
Reproduction:
Output:
Could you confirm if this is a bug?