# MORRRRTAAALLL KOOOMMMBBAATTT # CSE190M Ruby edition # # Ruby Section 2: Arrays, Hashes, and Blocks - Oh My!! puts "" # for readability # Recieves input from the data file, and creating hashes for each player def getPlayers fighters = [] File.open("fighters.txt") do |input| while line = input.gets info = line.split(",") # individual fighter hash fighter = {} fighter["name"] = info[0] fighter["style"] = info[1] fighter["HP"] = info[2].to_i # append to the pool of fighters fighters.push(fighter) end end return fighters end def printPlayers(fighters) # yield: # sort, then print =OR= level up then print yield fighters fighters.each do |fighter| puts fighter["name"] + ":" + fighter["HP"].to_s puts fighter["style"] puts end end fighters = getPlayers puts "SORTING THEN PRINTING" printPlayers(fighters) do |fighters| fighters.sort! do |player1, player2| player1["HP"] <=> player2["HP"] end end puts "LEVELING UP THEN PRINTING" printPlayers(fighters) do |fighters| fighters.each do |fighter| fighter["HP"] = fighter["HP"] + 1 end end puts ""# for ENHANCED redability