Ruby 在一行中打印大字符串(二十一点纸牌游戏)
Ruby print big string in one line (black-jack card game)
我想在控制台中为扑克牌做一个漂亮的输出。
不能一行输出
无法找到/删除干扰换行符
def face_card(rank, suite)
card = <<EOS
┌──────────┐
#{rank}
│ │
│ │
#{suite}
│ │
│ │
#{rank}
└──────────┘
EOS
card
end
b = [[2,"\u{2660}"],['J',"\u{2663}"],['K',"\u{2666}"]]
b.each do |arr| print a.face_card(arr[0],arr[1]) end
[enter image description here][1]
[1]: https://i.stack.imgur.com/PbPxa.png
我的解决方法:我把卡片图案的每一部分都打散,然后放上相应的卡片数据部分
b = [[2,"\u{2660}"],['J',"\u{2663}"],['K',"\u{2666}"]]
def face_cards(cards)
size = cards.size
ranks = cards.map(&:first)
suites = cards.map(&:last)
puts "┌──────────┐ " * size
puts " %s " * size % ranks
puts "│ │ " * size
puts "│ │ " * size
puts " %s " * size % suites
puts "│ │ " * size
puts "│ │ " * size
puts " %s " * size % ranks
puts "└──────────┘ " * size
end
face_cards(b)
┌──────────┐ ┌──────────┐ ┌──────────┐
2 J K
│ │ │ │ │ │
│ │ │ │ │ │
♠ ♣ ♦
│ │ │ │ │ │
│ │ │ │ │ │
2 J K
└──────────┘ └──────────┘ └──────────┘
我想在控制台中为扑克牌做一个漂亮的输出。 不能一行输出
无法找到/删除干扰换行符
def face_card(rank, suite)
card = <<EOS
┌──────────┐
#{rank}
│ │
│ │
#{suite}
│ │
│ │
#{rank}
└──────────┘
EOS
card
end
b = [[2,"\u{2660}"],['J',"\u{2663}"],['K',"\u{2666}"]]
b.each do |arr| print a.face_card(arr[0],arr[1]) end
[enter image description here][1]
[1]: https://i.stack.imgur.com/PbPxa.png
我的解决方法:我把卡片图案的每一部分都打散,然后放上相应的卡片数据部分
b = [[2,"\u{2660}"],['J',"\u{2663}"],['K',"\u{2666}"]]
def face_cards(cards)
size = cards.size
ranks = cards.map(&:first)
suites = cards.map(&:last)
puts "┌──────────┐ " * size
puts " %s " * size % ranks
puts "│ │ " * size
puts "│ │ " * size
puts " %s " * size % suites
puts "│ │ " * size
puts "│ │ " * size
puts " %s " * size % ranks
puts "└──────────┘ " * size
end
face_cards(b)
┌──────────┐ ┌──────────┐ ┌──────────┐
2 J K
│ │ │ │ │ │
│ │ │ │ │ │
♠ ♣ ♦
│ │ │ │ │ │
│ │ │ │ │ │
2 J K
└──────────┘ └──────────┘ └──────────┘