class GameEngine::GameState
Attributes
id[R]
phase[RW]
player_one[R]
player_two[R]
round[RW]
time[RW]
Public Class Methods
new(game_data)
click to toggle source
# File lib/smack_engine/game_state.rb, line 6 def initialize(game_data) @id = game_data.id @player_one = GameEngine::Player.new(game_data.player_one) @player_two = GameEngine::Player.new(game_data.player_two) @round = 0 @phase = :setup @time = Time.now end
Public Instance Methods
target_player(player_id)
click to toggle source
# File lib/smack_engine/game_state.rb, line 15 def target_player(player_id) return player_one if player_one.id.to_i == player_id.to_i return player_two if player_two.id.to_i == player_id.to_i raise ArgumentError.new("No player found with id = #{player_id}") end
winner()
click to toggle source
# File lib/smack_engine/game_state.rb, line 21 def winner return player_one if player_one.points > 0 && player_two.points <= 0 return player_two if player_two.points > 0 && player_one.points <= 0 end
won?()
click to toggle source
# File lib/smack_engine/game_state.rb, line 26 def won? winner != nil end