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
}