Class: TicTacToe::TUI
- Inherits:
-
Object
show all
- Defined in:
- lib/tic_tac_toe/tui.rb,
lib/tic_tac_toe/tui/board.rb,
lib/tic_tac_toe/tui/setup.rb,
lib/tic_tac_toe/tui/cursor.rb,
lib/tic_tac_toe/tui/status.rb
Overview
Defined Under Namespace
Classes: Board, Cursor, Setup, Status
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ TUI
Returns a new instance of TUI.
10
11
12
|
# File 'lib/tic_tac_toe/tui.rb', line 10
def initialize
TUI::Setup.call
end
|
Instance Method Details
#board!(*args) ⇒ Object
22
23
24
25
|
# File 'lib/tic_tac_toe/tui.rb', line 22
def board!(*args)
@board ||= TUI::Board.new(*args)
@board.update(*args)
end
|
#clear ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/tic_tac_toe/tui.rb', line 37
def clear
@board.window.close
Curses.clear
Curses.refresh
@board = @cursor = @status = nil
end
|
#cursor!(*args) ⇒ Object
27
28
29
30
|
# File 'lib/tic_tac_toe/tui.rb', line 27
def cursor!(*args)
@cursor ||= TUI::Cursor.new(@board.window)
@cursor.update(*args)
end
|
#listen ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/tic_tac_toe/tui.rb', line 14
def listen
loop do
key = getch
yield key
end
rescue Interrupt
end
|
#status!(*args) ⇒ Object
32
33
34
35
|
# File 'lib/tic_tac_toe/tui.rb', line 32
def status!(*args)
@status ||= TUI::Status.new(@board.window)
@status.update(*args)
end
|