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