Class: Zheng::Game

Inherits:
Sequel::Model
  • Object
show all
Defined in:
lib/zheng/game.rb

Instance Method Summary collapse

Instance Method Details

#rating_after(which_player) ⇒ Object



35
36
37
# File 'lib/zheng/game.rb', line 35

def rating_after which_player
  rating_before(which_player) + rating_change_for(which_player)
end

#rating_before(which_player) ⇒ Object



32
33
34
# File 'lib/zheng/game.rb', line 32

def rating_before which_player
  send("#{which_player.to_s}_rating_before".to_sym)
end

#rating_change_for(which_player) ⇒ Object



26
27
28
29
30
# File 'lib/zheng/game.rb', line 26

def rating_change_for which_player
  which_opponent = (which_player == :left) ? :right : :left
  player, opponent = [which_player, which_opponent].map { |p| send(p) }
  return Parameters::Con(player.rating) * (result(which_player) - Parameters::expected(player.rating, opponent.rating))
end

#result(which_player) ⇒ Object



39
40
41
# File 'lib/zheng/game.rb', line 39

def result which_player
  (which_player == winner) ? 1 : 0
end

#winnerObject



19
20
21
# File 'lib/zheng/game.rb', line 19

def winner
  @values[:winner].to_sym
end

#winner=(v) ⇒ Object



22
23
24
# File 'lib/zheng/game.rb', line 22

def winner= v
  @values[:winner] = v.to_s
end