Advertisement
Guest User

Untitled

a guest
Dec 10th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.18 KB | None | 0 0
  1. require_relative 'player'
  2. require_relative 'die'
  3. require_relative "game_turn"
  4. require_relative "treasure_trove"
  5.  
  6. class Game
  7. attr_reader :title
  8.  
  9. def initialize(title)
  10.     @title = title
  11.     @players = []
  12. end
  13. def add_player(player)
  14. #   if @title == "knucleheads" then
  15.     @players << player
  16. #    def add_player(a_player)
  17. #   @players.push(a_player)
  18. end
  19. #   if @title == "chipmunks" then
  20. #       @players << player
  21. #end
  22. #   if @title == "tmnt" then
  23. #       @players << player
  24. #end
  25. #end
  26. def play(rounds)
  27.   puts "There are #{@players.size} players in #{@title.upcase}: "
  28.   @players.each do |player|
  29.     puts player
  30.   end
  31.   treasures = TreasureTrove::TREASURES
  32.   puts "\nThere are #{treasures.size} treasures to be found:"
  33.   treasures.each do |treasure|
  34.     puts "A #{treasure.name} is worth #{treasure.points} points."
  35.   end
  36.  
  37.     1.upto(rounds) do |round|
  38.       puts "\nRound #{round}:"
  39.       @players.each do |player|
  40.        GameTurn.take_turn(player)
  41.        puts player
  42.      end
  43.     end
  44.   end
  45.  
  46.  
  47. def print_name_and_health(player)
  48.     puts "#{player.name}  (#{player.health})"
  49. end
  50.  
  51. def total_points
  52.     @players.reduce(0) { |sum, player| sum + player.points }
  53. end
  54.   def print_stats
  55.     puts "\n#{@title.upcase} Statistics:"
  56.    
  57.     strong_players, wimpy_players = @players.partition { |player| player.strong? }
  58.    
  59.     puts "\n#{strong_players.size} strong players:"
  60.     strong_players.each do |player|
  61.       print_name_and_health(player)
  62.     end    
  63.    
  64.     puts "\n#{wimpy_players.size} wimpy players:"
  65.     wimpy_players.each do |player|
  66.       print_name_and_health(player)
  67.     end    
  68.    
  69.     puts "\n#{@title.upcase} High Scores:"
  70.     @players.sort.each do |player|
  71.       formatted_name = player.name.ljust(20, '.')
  72.       puts "#{formatted_name} #{player.score}"
  73.     end
  74.    
  75.    # puts "\n#{total_points} total points from treasures found"
  76.     #@players.sort.each do |player|
  77.         #puts "\n#{player.name}'s point totals:"
  78.     #   player.each_found_treasure do |treasure|
  79.         #   puts "#{treasure. points} total #{treasure.name} points"
  80.     #   end
  81.         #puts "#{player.points} grand total points"
  82.     #end
  83.  
  84.  
  85.     puts "\n#{total_points} total points from treasures found"
  86.      @players.each do |player|
  87.         puts "\n#{player.name}'s point totals:"
  88.         player.each_found_treasure do |treasure|
  89.             puts "#{treasure.points} total #{treasure.name} points"
  90.         end
  91.         puts "#{player.points} grand total points"
  92.   end
  93. def high_score_entry(player)
  94.   formatted_name = player.name.ljust(20, '.')
  95.   "#{formatted_name} #{player.score}"
  96.   puts "\n#{@title} High Scores:"
  97.   @players.sort.each do |player|
  98.     puts high_score_entry(player)
  99.   end
  100. end
  101.     def load_players(from_file)
  102.     File.readlines(from_file).each do |line|
  103.         add_player(Player.from_csv(line))
  104.         puts line
  105.  
  106.  #  end
  107. end
  108. end
  109. def save_high_scores(to_file="high_scores.txt")
  110. File.open(to_file, "w") do |file|
  111.     file.puts "#{@title} High Scores:"
  112.     @players.sort.each do |player|
  113.     file.puts high_score_entry(player)
  114. end
  115.  
  116.  
  117.  
  118. #number_rolled = die.roll
  119. #puts player.to_s
  120. #end
  121. #@players.each do |player|
  122.     #player.blam
  123.     #player.wOOt
  124.     #player.wOOt
  125. #   puts player
  126. #end
  127. #@players.each do |player|
  128. #   die =
  129. #end
  130. #end
  131.  
  132.  
  133. end
  134. end
  135. end
  136. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement