diff --git a/53_poker_hands/main.go b/53_poker_hands/main.go index bc24130..d3aed26 100644 --- a/53_poker_hands/main.go +++ b/53_poker_hands/main.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "os" + "strconv" "strings" ) @@ -24,24 +25,24 @@ func main() { break } line := string(a) - cards := strings.Split(line, " ") - if len(cards) != 10 { + cs := strings.Split(line, " ") + if len(cs) != 10 { panic("invalid line") } h := hand{ - player1: [5]string{ - cards[0], - cards[1], - cards[2], - cards[3], - cards[4], + player1: cards{ + card(cs[0]), + card(cs[1]), + card(cs[2]), + card(cs[3]), + card(cs[4]), }, - player2: [5]string{ - cards[5], - cards[6], - cards[7], - cards[8], - cards[9], + player2: cards{ + card(cs[5]), + card(cs[6]), + card(cs[7]), + card(cs[8]), + card(cs[9]), }, } input = append(input, h) @@ -53,10 +54,23 @@ func main() { } type hand struct { - player1 [5]string - player2 [5]string + player1 cards + player2 cards } func (hand) isPlayer1Win() bool { return false } + +type card string + +func (c card) number() int { + i, _ := strconv.Atoi(string(c[0])) + return i +} + +func (c card) suit() string { + return string(c[1]) +} + +type cards [5]card