/
blackjack.go
51 lines (49 loc) · 1.1 KB
/
blackjack.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package blackjack
func ParseCard(card string) int {
switch card {
case "ace":
return 11
case "two":
return 2
case "three":
return 3
case "four":
return 4
case "five":
return 5
case "six":
return 6
case "seven":
return 7
case "eight":
return 8
case "nine":
return 9
case "ten", "jack", "queen", "king":
return 10
default:
return 0
}
}
func FirstTurn(card1, card2, dealerCard string) string {
var response string
var dealerCardValue int = ParseCard(dealerCard)
var myCardSum int = ParseCard(card1) + ParseCard(card2)
switch {
case ParseCard(card1) == 11 && ParseCard(card2) == 11:
response = "P"
case myCardSum == 21 && (dealerCardValue != 11 && dealerCardValue != 10):
response = "W"
case (myCardSum == 21) && (dealerCardValue == 11 || dealerCardValue == 10):
response = "S"
case (myCardSum >= 17 && myCardSum <= 20):
response = "S"
case (myCardSum >= 12 && myCardSum <= 16) && (dealerCardValue < 7):
response = "S"
case (myCardSum >= 12 && myCardSum <= 16) && (dealerCardValue >= 7):
response = "H"
case (myCardSum <= 11):
response = "H"
}
return response
}