class Petli::Rooms::Guess
Public Class Methods
new(pet)
click to toggle source
Calls superclass method
Petli::Rooms::Room::new
# File lib/petli/rooms/guess.rb, line 4 def initialize(pet) super(pet) @left = true @countdown = -1 end
Public Instance Methods
actions()
click to toggle source
# File lib/petli/rooms/guess.rb, line 10 def actions %w(left right) end
draw(ctx, ox, oy)
click to toggle source
# File lib/petli/rooms/guess.rb, line 30 def draw(ctx, ox, oy) ctx.render_at(ox+9, oy+4, @pet.display) if @countdown == -1 ctx.render_at(ox+4, oy+5, "☟") if @left ctx.render_at(ox+23, oy+5, "☟") unless @left ctx.render_at(ox+4, oy+6, "▒") if @left ctx.render_at(ox+23, oy+6, "▒") unless @left @left = !@left elsif @countdown == 0 (@petpickedleft == @pickedleft) ? @pet.win : @pet.lose goto("main") else ctx.render_at(ox+4, oy+5, "☟") if @pickedleft ctx.render_at(ox+23, oy+5, "☟") unless @pickedleft ctx.render_at(ox+4, oy+6, "▒") if @petpickedleft ctx.render_at(ox+23, oy+6, "▒") unless @petpickedleft @countdown -= 1 end end
enter()
click to toggle source
# File lib/petli/rooms/guess.rb, line 14 def enter pet.play(game: :guess) end
keypress(event)
click to toggle source
# File lib/petli/rooms/guess.rb, line 22 def keypress(event) return if event.value != "l" and event.value != "r" @petpickedleft = rand(1..2) == 1 @pickedleft = event.value == "l" (@petpickedleft == @pickedleft) ? @pet.celebrate : @pet.embarass @countdown = 20 end
leave()
click to toggle source
# File lib/petli/rooms/guess.rb, line 18 def leave pet.reset end