Sha256: 3c789dd8fb7e5492a887102887830d1b5c62bcb757e8b803ec466c4abf9db958
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
# lib/gemwarrior/game.rb # Main launching point for Gem Warrior require 'colorize' require 'matrext' require_relative 'entities/player' require_relative 'misc/player_levels' require_relative 'world' require_relative 'evaluator' require_relative 'repl' require_relative 'inventory' module Gemwarrior class Game include PlayerLevels # CONSTANTS ## PLAYER DEFAULTS PLAYER_DESC_DEFAULT = 'Picked to do battle against a wizened madman for a shiny something or other for world-saving purposes.' PLAYER_INVENTORY_DEFAULT = Inventory.new PLAYER_ROX_DEFAULT = 0 attr_accessor :world, :eval, :repl def initialize(options) # create new world and player self.world = World.new start_stats = PlayerLevels::get_level_stats(1) world.player = Player.new({ :description => PLAYER_DESC_DEFAULT, :level => start_stats[:level], :xp => start_stats[:xp_start], :hp_cur => start_stats[:hp_max], :hp_max => start_stats[:hp_max], :stam_cur => start_stats[:stam_max], :stam_max => start_stats[:stam_max], :atk_lo => start_stats[:atk_lo], :atk_hi => start_stats[:atk_hi], :defense => start_stats[:defense], :dexterity => start_stats[:dexterity], :inventory => PLAYER_INVENTORY_DEFAULT, :rox => PLAYER_ROX_DEFAULT, :cur_coords => world.location_coords_by_name('Home'), :god_mode => options.fetch(:god_mode), :beast_mode => options.fetch(:beast_mode) }) # create the console self.eval = Evaluator.new(world) self.repl = Repl.new(world, eval) # enter Jool! repl.start('look') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gemwarrior-0.6.3 | lib/gemwarrior/game.rb |