class StudioGame::Game

Public Class Methods

new(title) click to toggle source
# File lib/studio_game/game.rb, line 7
def initialize(title)
            @die = Die.new
  @title = title
  @players = []
end

Public Instance Methods

add_player(player) click to toggle source
# File lib/studio_game/game.rb, line 42
def add_player(player)
  @players << player
end
load(file_name) click to toggle source
# File lib/studio_game/game.rb, line 13
def load(file_name)
  default_players_file = File.join(File.dirname(__FILE__),
                                    '../../data/', 'players.csv')
  puts default_players_file
  file = file_name || default_players_file
  File.readlines(file).each do |line|
    # name,score = line.split(",")
    # player = Player.new(name, score.to_i)
    # add_player(player)
    add_player( Player.from_csv(line) )
  end
end
play( rounds ) click to toggle source
# File lib/studio_game/game.rb, line 94
def play( rounds )

 treasures = TreasureTrove::TREASURES

  puts "There are #{@players.size} players in"
  status_report
  1.upto( rounds) do |round|
    @players.each do |player|
      GameTurn.take_turn(player)
      puts player
    end
            end
  puts "\nThere are #{treasures.size} treasures to be found:"
  treasures.each do |treasure|
    puts "A #{treasure.name} is worth #{treasure.points} points"
  end
  status_report
end
print_name_health(player) click to toggle source
print_stats() click to toggle source
save(file_name='player_rankings.csv') click to toggle source
# File lib/studio_game/game.rb, line 26
def save(file_name='player_rankings.csv')
  File.open(file_name,'w') do |file|
    file.puts "GAME: #{@title}"
    file.puts "=" * "GAME: #{@title}".length
    file.puts
    file.puts "High Scores:"
    file.puts "-" * "High Scores:".length

    @players.sort.each do |player|
      # formatted_name = player.name.ljust(20, '.')
      # file.puts "#{formatted_name} #{player.score}"
      file.puts player.format_score
    end
  end
end
start_report() click to toggle source
# File lib/studio_game/game.rb, line 54
def start_report
  puts "There are #{@players.length} players in #{@title}:"
  status_report
end
status_report() click to toggle source
# File lib/studio_game/game.rb, line 46
def status_report
  puts
  puts "Player Status Report"
  @players.each do |p|
    puts p
  end
end