Class: RoadToRubykaigi::OpeningScreen
- Inherits:
-
Object
- Object
- RoadToRubykaigi::OpeningScreen
- Defined in:
- lib/road_to_rubykaigi/opening_screen.rb
Constant Summary collapse
- WIDTH =
10- OFFSET =
30- DELAY =
0.75
- LOGO =
"\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551 \u2551\n\u2551 \u2551 \u2551\n\u2551 \u2551 \u2551\n\u2560\u2550\u2550\u2550\u2550\u2550\u2566\u2550\u255D \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557 \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2551 \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2563\n\u2551 \u255A\u2550\u2557 \u2551 \u2551 \u2551 \u2551 \u2554\u255D \u2551 \u2550\u2550\u256C\u2550\u2550 \u2554\u2550\u2550\u2550\u2557\n\u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551\n\u2551 \u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2551 \u255A\u2550\u2550\u2550\u255D\n\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557 \u2551 \u2551\n\u2551 \u2551 \u2551 \u2551\n\u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2551\n\u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551\n\u2560\u2550\u2550\u2550\u2550\u2550\u2566\u2550\u255D \u2551 \u2551 \u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2557 \u2551 \u2551 \u2560\u2550\u2550\u2550\u2550\u2550\u2566\u2550\u255D \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2551 \u2551 \u2551\n\u2551 \u255A\u2550\u2557 \u2551 \u2551 \u2551 \u255A\u2557 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563 \u2551 \u255A\u2550\u2557 \u2551 \u2551 \u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563 \u2551\n\u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551 \u2551\n\u2551 \u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2551 \u2551 \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2551 \u2551 \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2551\n"- PLAYER =
"\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u256E\n\u2502\uFF61\u30FB\u25E1\u30FB\u2502_\u25E2\u25E4\n\u2570\u170A\u2500\u2500\u2500\u170A\u2500\u256F\n"
Instance Method Summary collapse
Instance Method Details
#display ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/road_to_rubykaigi/opening_screen.rb', line 31 def display x = 0 direction = 1 loop do ANSI.clear puts "\e[6;1H" + LOGO puts [ PLAYER.lines.map.with_index do |line, i| "\e[#{i+1};#{x+OFFSET}H" + line end.join, "\e[4;1H" + "Press Space to start...", ] if $stdin.raw { $stdin.read_nonblock(1, exception: false) == " " } break true end x += direction if x >= WIDTH || x <= 0 direction = -direction end sleep DELAY end end |