Sha256: 312b10c9f5ab548ecd1a2f1b4a98731910cf5a2ca838674b6d60b18e13fa4ea4

Contents?: true

Size: 729 Bytes

Versions: 3

Compression:

Stored size: 729 Bytes

Contents

require_relative '../lib/terminal_game_engine'

TerminalGameEngine.run do
  on_tick do |tick|
    number = tick.to_s

    height = 3
    width = number.length + 2

    frame = TerminalGameEngine::Frame.new width, height

    # draw number
    frame.draw_center 1, number

    # draw corners
    frame.draw 0, 0, '+'
    frame.draw 0, height-1, '+'
    frame.draw width-1, 0, '+'
    frame.draw width-1, height-1, '+'

    on_input do |key_code|
      case key_code
      when 'q'.ord, TerminalGameEngine::Input::Keys::ESCAPE, TerminalGameEngine::Input::Keys::CTRL_C
        exit
      else
        frame.draw 0, 1, ' ' * (number.length + 1)
        frame.draw_center 1, key_code.chr
      end
    end

    frame.render
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
terminal_game_engine-0.4.0 examples/counter.rb
terminal_game_engine-0.3.0 examples/counter.rb
terminal_game_engine-0.2.0 examples/counter.rb