class Petli::Rooms::Dice
Constants
- Symbols
Public Class Methods
new(pet)
click to toggle source
Calls superclass method
Petli::Rooms::Room::new
# File lib/petli/rooms/dice.rb, line 6 def initialize(pet) super(pet) @value = rand(1..6) @countdown = -1 end
Public Instance Methods
actions()
click to toggle source
# File lib/petli/rooms/dice.rb, line 12 def actions %w(higher lower) end
draw(ctx, ox, oy)
click to toggle source
# File lib/petli/rooms/dice.rb, line 36 def draw(ctx, ox, oy) ctx.render_at(ox+9, oy+4, @pet.display) if @countdown == -1 ctx.render_at(ox+4, oy+6, @value.to_s) ctx.render_at(ox+23, oy+6, Symbols[(0..5).to_a.sample]) elsif @countdown == 0 @won ? @pet.win : @pet.lose goto("main") else ctx.render_at(ox+4, oy+5, "▲") if @pickedhigher ctx.render_at(ox+4, oy+6, @value.to_s) ctx.render_at(ox+23, oy+6, Symbols[@pick-1]) ctx.render_at(ox+4, oy+7, "▼") unless @pickedhigher @countdown -= 1 end end
enter()
click to toggle source
# File lib/petli/rooms/dice.rb, line 16 def enter pet.play(game: :guess) end
keypress(event)
click to toggle source
# File lib/petli/rooms/dice.rb, line 27 def keypress(event) return if event.value != "h" and event.value != "l" @pickedhigher = event.value == "h" @pick = (1..6).to_a.sample @won = (event.value == "h" && @pick > @value) || (event.value == "l" && @pick < @value) @won ? @pet.celebrate : @pet.embarass @countdown = 20 end
leave()
click to toggle source
# File lib/petli/rooms/dice.rb, line 20 def leave pet.reset end
roll()
click to toggle source
# File lib/petli/rooms/dice.rb, line 24 def roll end