

mikan = <<~END
###
##
############
## ##
## ##
## ##
## ##
## ##
## ##
############
END
puts mikan
\e[38;5;nm でnにカラーコードを指定することで出力色を指定mikan = <<~END
###
##
############
## ##
## ##
## ##
## ##
## ##
## ##
############
END
puts "\e[38;5;208m"
puts mikanruby demo1.rb\e[#{y};10H で上からy,左から10移動\e[2J で画面全体を消去# 1000.times do |i|
# puts "\e[2J"
# y = 50 + (Math.sin(i * 0.5) * 5).to_i
# puts "\e[#{y};10H"
# puts mikan
# sleep 0.1
# endeval$s=%w'b="BAhsK1cAAAAAABwAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAD8PwAAAAAAAAAAAAAAAABgABgAAAAAAAAAAAAAAAAABgAMAAAAAAAAAAAAAAAAwACAAQAAAAAAAAAAAAAAABgAMAAAAAAAAAAAAAAAAAADAAYAAAAAAAAAAAAAAADAADAAAAAAAAAAAAAAAAAA4P8BAA==";n=Marshal.load(b.unpack("m")[0]);e="eval$s=%w"<<39<<($s*3);o="";j=-1;0.upto(11*125-1){|i|; o<<((n[i]==1)?e[j+=1]:32); o<<((i%125==(124))?10:"");};o[-85,6]=""<<39<<".join";puts("[38;5;208m");1000.times{|i|; puts("[2J"); pos_y=50+(Math.sin(i*0.5)*5).to_i; puts("[#{pos_y};10H"); puts(o); sleep(0.1);}#'.join

サンプルMap = [
[0, 2, 0],
[1, 1, 2],
[1, 1, 0],
[0, 2, 0]
]
マス番号を振る:
[(0), (1), (2),
(3), (4), (5),
(6), (7), (8),
(9),(10),(11)]
葉っぱの位置Map = [1, 5, 10]
色付き文字Map = [
[0, 1, 0],
[1, 1, 1],
[1, 1, 0],
[0, 1, 0]
]# 現在の位置が葉の部分かどうかで色を決定 (34:緑, 208:オレンジ)
color_code = (leaf_positions.include?(i) ? 34 : 208);
# ビットが1なら色付き文字、0ならスペース(32)を追加
o << (bit_map[i] == 1 ? (m + \"[38;5;\" + color_code.to_s + \"m\" + e[j += 1] + m + \"[0m\") : 32);ruby demo2.rb
eval$s=%w'c=eval("[324..335, 〜〜省略〜〜, 6514..6515]").flat_map(&:to_a);n=Marshal.load("BAhbAkA1aQ〜〜省略〜〜BpAGkAaQBQBpAGkAaQBpAGkA".unpack("m")[0]);l=39.chr;m=27.chr;e="eval$s=%w"+l+($s*2);o="";j=-1;0.upto(n.size-1){|i|t=(c.include?(i)?34:208);o<<(n[i]==1?(m+"[38;5;"+t.to_s+"m"+e[j+=1]+m+"[0m"):32);o<<(i%192==191?10:"")};o[-85,6]=l+".join";1000.times{|k|puts(m+"[2J");pos_y=10+(Math.sin(k*0.5)*5).to_i;puts(m+"["+pos_y.to_s+";10H");puts(o);sleep(0.1)}#'.join