Как убрать цвет фона текста в терминале unsig ruby? - PullRequest
0 голосов
/ 16 октября 2018

Я реализую игру TIC TAC TOE в ruby.Я хочу, чтобы пользователь мог выбрать квадрат, в который он хочет поместить свои крестики, используя стрелки клавиатуры.Поэтому я должен раскрасить (используя драгоценный камень «пастель») квадраты, в которые он входит, чтобы он знал свою позицию.

До сих пор я использовал эту часть кода:

@position = 0
@pastel = Pastel.new
@board = Board.new
def self.show_single_key
c = self.read_char

case c
when "\r"
  puts "RETURN"
when "\e[A"
@position > 5 ? @position : @position  -= 3
when "\e[B"
@position < 3 ? @position : @position  += 3
when "\e[C"
@position == 8 ? @position : @position  += 1
when "\e[D"
@position == 0 ? @position : @position  -= 1
end
p @position
$cases[@position].value = @pastel.on_green($cases[@position].value)
$cases[@position].value = $cases[@position].value
@board.print_board
end

Результат: это

Не могли бы вы помочь мне выяснить, как я перевожу зеленые квадраты в их первоначальное состояние черного?

Спасибо за помощь

1 Ответ

0 голосов
/ 16 октября 2018

Вам нужно «перекрасить» всю игру.Или линия затронута (по крайней мере).Таким образом, вы можете нарисовать «неактивные» поля белым (или любым другим цветом), а ваше активное поле - зеленым.Вы не можете изменить цвет.Проверьте один из доступных драгоценных камней "индикатор выполнения".Например, этот - https://github.com/paul/progress_bar/blob/master/lib/progress_bar.rb

Здесь вы можете найти еще несколько идей Печать вращающегося "ASCII" курсора в консоли

...