blackjack.go
package go1b
import (
"strconv"
"strings"
)
func Score(hand string) int {
var out int = 0
for _, card := range strings.Split(hand, "") {
val, err := strconv.Atoi(card)
if err == nil {
out += val
} else {
switch card {
case "X", "J", "Q", "K":
out += 10
case "A":
out += 11
}
}
}
return out
}
// PlayerWins determines if the player has a winning blackjack hand.
func PlayerWins(playerHand string, dealerHand string) bool {
var playerScore, dealerScore int = Score(playerHand), Score(dealerHand)
return dealerScore > 21 || playerScore > dealerScore && playerScore <= 21
}