Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Player
- def initialize
- @level = 1
- @inventory = []
- end
- def level
- @level
- end
- def inventory
- @inventory
- end
- def dig(hole)
- if hole.used?
- puts "This hole has already been excavated."
- else
- puts "Found a #{hole.contents.name}"
- @inventory.push(hole.contents)
- end
- end
- end
- class Hole
- def initialize(contents = [])
- @used = false
- @contents = contents
- end
- def used?
- @used
- end
- def contents
- @contents
- end
- end
- class RandomJunk
- DESCRIPTORS = ['muddy', 'glittering', 'worthless', 'tin', 'irradiated', 'cursed']
- MIN_VALUE = 1
- MAX_VALUE = 15
- def initialize(type)
- @type = type
- generate_item
- end
- def type
- @type
- end
- def name
- @name
- end
- def value
- @value
- end
- def generate_item
- descriptor = DESCRIPTORS.sample
- @name = "#{descriptor.capitalize} #{@type.capitalize}"
- @value = rand(MIN_VALUE..MAX_VALUE)
- end
- end
- junk = RandomJunk.new(:amulet)
- hole = Hole.new(junk)
- player = Player.new
- player.dig(hole)
- puts "Items in inventory: "
- player.inventory.each do |item|
- puts item.name
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement