Edited at

技術書典のサークル位置をBrainf**kのAAで伝える方法

More than 1 year has passed since last update.


目的

技術書典5に出展するので、サークルの位置をわかりやすく知らせたかった。

プログラマーとしてプログラムで伝えよう。


参考文献


U17を出力する Brainf**k のコード

++++++++++[>++++++++<-]>+++++.------------------------------------.++++++.


Brainf**k のコードを生成する Ruby のコード

Ruby で Brainf**k のコードを生成します

template = DATA.read.gsub("\n", '')

bit_template = template.chars.map { |e|e == 'X' ? 1 : 0 }

answer_bf = "++++++++++[>++++++++<-]>+++++.------------------------------------.++++++."
answer_bf_bytes = answer_bf.chars

dummy = '='
results = []
last = false
loop {
bit_template.each do |char|
c = (char == 0) ? ' ' : last ? dummy : answer_bf_bytes.shift
results << c
last = true if answer_bf_bytes.size == 0
end
break if last
}

print results.each_slice(24).map { |e|e.join + "\n" }.join

__END__

XXX XXX X XXXXX
X X XXX X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
XXX XXXXX X


出力コード

 +++ +++    +     +++[> 

+ + +++ + +
+ < - ]
> + + +
+ + . -
- - - -
- - - -
- - - -
--- ----- -

--- --- - -----
- - .++ + +
+ + . =
= = = =
= = = =
= = = =
= = = =
= = = =
=== ===== =


実行結果

U17