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 +}