53: poker hands

structs
This commit is contained in:
VicRen
2020-12-07 15:55:35 +08:00
parent e4c01d3101
commit 8988add49e

View File

@@ -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