class StudioGame::Game

Attributes

title[R]

Public Class Methods

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

Public Instance Methods

add_player(player) click to toggle source
# File lib/studio_game/game.rb, line 34
def add_player(player)
  @players.push(player)
end
high_score_entry(player) click to toggle source
# File lib/studio_game/game.rb, line 30
def high_score_entry(player)
  "#{player.name.ljust(20, '.')}#{player.score}"
end
load_players(from_file) click to toggle source
# File lib/studio_game/game.rb, line 15
def load_players(from_file)
  File.readlines(from_file).each do |line| 
        add_player(Player.from_csv(line)) 
      end 
end
play(rounds) click to toggle source
# File lib/studio_game/game.rb, line 38
def play(rounds)  
  puts "\nThere are #{@players.size} players in #{@title}:"
      puts @players 
    
      treasures = TreasureTrove:: TREASURES
  puts "\nThere are #{treasures.size} treasures to be found:" 
  treasures.each do |t| 
    puts "A #{t.name} is worth #{t.points} points."
      end 
    
      1.upto(rounds) do |round|
        puts "\nRound #{round}:"
        @players.each do |p|
      GameTurn.take_turn(p)         
          puts p 
        end        
      end 
end
print_name_and_health(p) click to toggle source
print_stats() click to toggle source
save_high_scores(to_file='high_scores.txt') click to toggle source
# File lib/studio_game/game.rb, line 21
def save_high_scores(to_file='high_scores.txt') 
  File.open(to_file, 'w') do |file| 
        file.puts "#{@title} High Scores:"
    @players.sort.each do |p| 
          file.puts high_score_entry(p) 
        end        
      end   
end