コード例 #1
0
ファイル: blackjack.go プロジェクト: stensonb/blackjack
func promptPlayer(d deck.Deck, p *hand.Hand) bool {
	fmt.Print(promptOptions(p))

	// read from the player
	switch getUserInput() {
	case "h":
		c, _ := d.NextCard()
		p.AddCard(c)
		return false
	default: // case "s":
		return true
	}

}
コード例 #2
0
ファイル: blackjack.go プロジェクト: stensonb/blackjack
func declareWinner(player, dealer *hand.Hand) {
	fmt.Println("Dealer:", dealer)
	fmt.Println("Player:", player)
	fmt.Println() //formatting

	cmp := player.Compare(dealer)

	switch {
	case player.Busted() && dealer.Busted(): // house rules
		fmt.Println("Dealer wins!")
	case player.Busted():
		fmt.Println("Dealer wins!")
	case dealer.Busted():
		fmt.Println("Player wins!")
	case cmp == 0:
		fmt.Println("Tie!")
	case cmp == 1:
		fmt.Println("Player wins!")
	case cmp == -1:
		fmt.Println("Dealer wins!")
	}
}
コード例 #3
0
ファイル: blackjack.go プロジェクト: stensonb/blackjack
func showHands(player, dealer *hand.Hand) {
	fmt.Println("Dealer:", dealer.ShowOneCard())
	fmt.Println("Player:", player)
	fmt.Println() //formatting
}
コード例 #4
0
ファイル: blackjack.go プロジェクト: stensonb/blackjack
func dealerPlays(d deck.Deck, h *hand.Hand) {
	for !h.Busted() && h.Value() < 17 { // dealer must hit when <17
		c, _ := d.NextCard()
		h.AddCard(c)
	}
}