30 lines
526 B
Go
30 lines
526 B
Go
package game
|
|
|
|
import "math/rand"
|
|
|
|
type Bot struct {
|
|
Player
|
|
}
|
|
|
|
func NewBot(id, name string) *Bot {
|
|
return &Bot{
|
|
Player: *NewPlayer(id, name),
|
|
}
|
|
}
|
|
|
|
func (b *Bot) ChooseRank(hand []Card) Rank {
|
|
// Bot simply picks a random card rank from its hand
|
|
if len(hand) == 0 {
|
|
return RankAce
|
|
}
|
|
idx := rand.Intn(len(hand))
|
|
return hand[idx].Rank
|
|
}
|
|
|
|
func (b *Bot) ChooseCardToAsk(availableRanks []Rank) Rank {
|
|
if len(availableRanks) > 0 {
|
|
idx := rand.Intn(len(availableRanks))
|
|
return availableRanks[idx]
|
|
}
|
|
return RankAce
|
|
}
|