class AsciiParadise::Lobster

Constants

LOBSTER_LEFT
#

LOBSTER_LEFT

#
LOBSTER_RIGHT
#

LOBSTER_RIGHT

#

Public Class Methods

[](i = '') click to toggle source
#

AsciiParadise::Lobster[]

#
# File lib/ascii_paradise/misc/lobster.rb, line 98
def self.[](i = '')
  new(i)
end
new( i = nil, run_already = true ) click to toggle source
#

initialize

#
# File lib/ascii_paradise/misc/lobster.rb, line 38
def initialize(
    i           = nil,
    run_already = true
  )
  reset
  register_sigint
  set_input(i)
  run if run_already
end

Public Instance Methods

input?() click to toggle source
#

input?

#
# File lib/ascii_paradise/misc/lobster.rb, line 68
def input?
  @input
end
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method AsciiParadise::Base#reset
# File lib/ascii_paradise/misc/lobster.rb, line 51
def reset
  super()
  @delay = 0.75
end
run() click to toggle source
#

run (run tag)

#
# File lib/ascii_paradise/misc/lobster.rb, line 75
def run
  run_n_times = 50
  current_run =  1
  toggle_status = :right
  loop {
    ::AsciiParadise.clear_screen
    case toggle_status
    when :right
      e LOBSTER_RIGHT
      toggle_status = :left
    when :left
      e LOBSTER_LEFT
      toggle_status = :right
    end
    sleep @delay
    current_run += 1
    break if current_run > run_n_times
  }
end
set_input(i = '') click to toggle source
#

set_input

#
# File lib/ascii_paradise/misc/lobster.rb, line 59
def set_input(i = '')
  i = i.first if i.is_a? Array
  i = i.to_s.dup
  @input = i
end