36 lines
666 B
Crystal
36 lines
666 B
Crystal
require "./ai"
|
|
|
|
module GameOfGame
|
|
|
|
class Round
|
|
alias PlayersBet = Hash(Ai, Float64)
|
|
alias PlayersScore = Hash(Ai, Float64)
|
|
getter previous : Round?
|
|
getter bets : PlayersBet = PlayersBet.new
|
|
getter scores : PlayersScore = PlayersScore.new
|
|
getter id : Int32
|
|
|
|
def initialize(@previous = nil)
|
|
@id =
|
|
if (previous = @previous).nil?
|
|
0
|
|
else
|
|
previous.id + 1
|
|
end
|
|
end
|
|
|
|
def players
|
|
@bets.keys
|
|
end
|
|
|
|
def bet(player : Ai, value : Float64)
|
|
@bets[player] = value
|
|
end
|
|
|
|
def score(player : Ai, value : Float64)
|
|
@scores[player] = value
|
|
end
|
|
end
|
|
|
|
end
|