From 5289841027684afbc38916a45c2b1b1f73b83ff8 Mon Sep 17 00:00:00 2001 From: Jeffrey Paul Date: Wed, 3 Apr 2019 14:54:42 -0700 Subject: [PATCH] still doesn't work, but is moving in the right direction --- pokercore/pokercore.go | 1 - pokercore/pokerhand.go | 45 +++++++++++++++++++++++------------------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/pokercore/pokercore.go b/pokercore/pokercore.go index c2f7bb3..2bb9405 100644 --- a/pokercore/pokercore.go +++ b/pokercore/pokercore.go @@ -189,4 +189,3 @@ func proto() { cmty := myDeck.Deal(5) fmt.Printf("community: %s\n", cmty) } - diff --git a/pokercore/pokerhand.go b/pokercore/pokerhand.go index e29f5c6..48b9dbf 100644 --- a/pokercore/pokerhand.go +++ b/pokercore/pokerhand.go @@ -1,29 +1,29 @@ package pokercore type HEPokerHand struct { - Cards Cards - HandScore HandScore + Cards Cards + HandScore HandScore } type HandScoreType uint8 type HandScoreRanking Rank type HandScore struct { - Type HandScoreType - Ranking HandScoreRanking - Kickers Cards - Description string + Type HandScoreType + Ranking HandScoreRanking + Kickers Cards + Description string } const ( - HIGH_CARD HandScoreType = 0 - ONE_PAIR HandScoreType = 1 - TWO_PAIR HandScoreType = 2 - SET HandScoreType = 3 - STRAIGHT HandScoreType = 4 - FLUSH HandScoreType = 5 - BOAT HandScoreType = 6 - QUADS HandScoreType = 7 + HIGH_CARD HandScoreType = 0 + ONE_PAIR HandScoreType = 1 + TWO_PAIR HandScoreType = 2 + SET HandScoreType = 3 + STRAIGHT HandScoreType = 4 + FLUSH HandScoreType = 5 + FULL_HOUSE HandScoreType = 6 + QUADS HandScoreType = 7 STRAIGHT_FLUSH HandScoreType = 8 ) @@ -32,10 +32,10 @@ func (self *HandScore) BeatsHand(v *HandScore) bool { } func (self *HEPokerHand) IsReducedYet() bool { - if len(self.Cards) == 5 { - return true - } - return false + if len(self.Cards) == 5 { + return true + } + return false } func (self *HEPokerHand) IsPair() bool { @@ -60,6 +60,11 @@ func (self *HEPokerHand) ScoreHand() *HandScore { } -func scoreHEPokerHand(input Cards) (hand HEPokerHand) { +func scoreHEPokerHand(input Cards) *HEPokerHand { + // this takes a list of pointers to 7 cards, permutes them into every + // possible five-card hand, by removing each in turn and recursing to + // itself, and then returns the best one as an *HEPokerHand + // out of all possible five-card permutations. + return 1 -} \ No newline at end of file +}