atharvapatil22 / PokerAI

0 stars 0 forks source link

Concern about rounding issue in scoring. #49

Closed TiptonG closed 2 weeks ago

TiptonG commented 1 month ago

When I initially made scoring, to implement supplementary scores (like the pair value in a full house), I divided that card's value by 10, since 14/10 would be 1.4, and wouldn't outvalue the 2 value of the triple (in this case, three 2's, and two A's). However, the values that are getting printed are seeming to round in weird ways. I think someone should take a look at it, by feeding different combinations of cards to see if a 44455 hand actually beats a 44433 hand or something like that.

TiptonG commented 1 month ago

I made a branch with some changes on it addressing this. I also came up with some test cases that I used in a custom file I made. I removed the file from the branch out of cleanliness, but here are the cases I used and how I made the test file:

p1Score = handScore(p1Cards)
print(f"Player 1 hand: " + ", ".join(str(card) for card in p1Cards))
print(f"Player 1 score = {p1Score}")

p2Score = handScore(p2Cards)
print(f"Player 2 hand: " + ", ".join(str(card) for card in p2Cards))
print(f"Player 2 score = {p2Score}")
- It will be used to show your results

p2Cards = [] p2Cards.append(Card(3,"Clubs")) p2Cards.append(Card(3,"Hearts")) p2Cards.append(Card(3,"Spades")) p2Cards.append(Card(2,"Spades")) p2Cards.append(Card(2,"Hearts")) p2Cards.append(Card(2,"Clubs")) p2Cards.append(Card(14,"Clubs"))

FLUSH TESTING

p1Cards = [] p1Cards.append(Card(14,"Spades")) p1Cards.append(Card(3,"Spades")) p1Cards.append(Card(4,"Spades")) p1Cards.append(Card(5,"Spades")) p1Cards.append(Card(6,"Spades")) p1Cards.append(Card(3,"Hearts")) p1Cards.append(Card(3,"Clubs"))

p2Cards = [] p2Cards.append(Card(13,"Spades")) p2Cards.append(Card(12,"Spades")) p2Cards.append(Card(11,"Spades")) p2Cards.append(Card(10,"Spades")) p2Cards.append(Card(8,"Spades")) p2Cards.append(Card(3,"Hearts")) p2Cards.append(Card(3,"Clubs"))

p1Cards = [] p1Cards.append(Card(13,"Spades")) p1Cards.append(Card(3,"Spades")) p1Cards.append(Card(4,"Spades")) p1Cards.append(Card(5,"Spades")) p1Cards.append(Card(6,"Spades")) p1Cards.append(Card(3,"Hearts")) p1Cards.append(Card(3,"Clubs"))

p2Cards = [] p2Cards.append(Card(12,"Spades")) p2Cards.append(Card(11,"Spades")) p2Cards.append(Card(10,"Spades")) p2Cards.append(Card(9,"Spades")) p2Cards.append(Card(7,"Spades")) p2Cards.append(Card(3,"Hearts")) p2Cards.append(Card(3,"Clubs"))

STRAIGHT FLUSH TESTING

p1Cards = [] p1Cards.append(Card(14,"Spades")) p1Cards.append(Card(2,"Spades")) p1Cards.append(Card(3,"Spades")) p1Cards.append(Card(4,"Spades")) p1Cards.append(Card(5,"Spades")) p1Cards.append(Card(3,"Hearts")) p1Cards.append(Card(3,"Clubs"))

p2Cards = [] p2Cards.append(Card(14,"Spades")) p2Cards.append(Card(13,"Spades")) p2Cards.append(Card(12,"Spades")) p2Cards.append(Card(11,"Spades")) p2Cards.append(Card(10,"Spades")) p2Cards.append(Card(3,"Hearts")) p2Cards.append(Card(3,"Clubs"))

TWO PAIR TESTING

p1Cards = [] p1Cards.append(Card(14,"Spades")) p1Cards.append(Card(14,"Clubs")) p1Cards.append(Card(2,"Spades")) p1Cards.append(Card(2,"Clubs")) p1Cards.append(Card(5,"Spades")) p1Cards.append(Card(3,"Hearts")) p1Cards.append(Card(8,"Clubs"))

p2Cards = [] p2Cards.append(Card(13,"Spades")) p2Cards.append(Card(13,"Clubs")) p2Cards.append(Card(12,"Clubs")) p2Cards.append(Card(11,"Spades")) p2Cards.append(Card(12,"Spades")) p2Cards.append(Card(3,"Hearts")) p2Cards.append(Card(3,"Clubs"))


- Feel free to add or modify test cases, all of the ones you see here work as intended