如何从终端unsig红宝石中的文本背景中删除颜色?

时间:2018-10-16 15:54:44

标签: ruby colors terminal background-color tic-tac-toe

我正在用红宝石实现TIC TAC TOE游戏。我希望用户能够通过使用键盘上的箭头来选择要放入十字形的正方形。因此,我必须为他进入的方块着色(使用宝石“粉彩”),以便他知道他的位置。

到目前为止,我已经使用了这部分代码:

@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

结果是:this

您能帮我弄清楚我如何将绿色方块恢复为原始的黑色状态吗?

谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

您需要“重新粉刷”整个游戏。或受影响的行(至少)。这样,您可以用白色(或其他任何颜色)绘制“非活动”字段,而将活动字段绘制为绿色。您不能更改颜色。 检查可用的“进度条”宝石之一。例如,这个-https://github.com/paul/progress_bar/blob/master/lib/progress_bar.rb

在这里您可以找到更多的想法Printing an ASCII spinning "cursor" in the console