[誰得ツール]スタック描画プログラム

前回投稿したPietコードが、解説するにはあまりにも鬼畜なので、

体力温存の意味も込めて、ちょっと脱線します。

前回(前々回?)の解説でいきなり出てきた、この画像

f:id:y-mos:20210726215224p:plain

スタックの状態を表すのに、ちょうど良い画像ですが、

実はこれ自前です。

しかもペイントソフトの類を一切使わず、テキストファイルから自動生成しています。

この画像をテキストから作るプログラムをpythonで組みました。

動機

「いや、いいんですよ、別にペイントソフトで書いたって。

 でも面倒だったんですよ。わかるでしょ?

 せっかく書くなら線の太さとかボックス間の間隔とか、

 揃えたくなっちゃうじゃないですか?

 文字だって中央揃えしたくなるし。

 そんなのいちいちやってたら朝になっちまうわ。

 特に自分みたいにマウス持つのが億劫になってしまったもんには、

 テキストから変換する仕様にしたほうが楽なんですよ。

 わかってくださいって。」

・・・などと供述しており。

公開場所

githubにあげました。「stackVisualizer.py」と申します。

必要なもの

当然ながらpython(3系)が必要です。

また、モジュールとしては、svgwriteとCairoSVGが必要です。

使い方

テキストエディタを開きます。

次のようにスタックの状態を書きます。

[a,b,c,d,e
E

このテキストファイルを適用な名前(例えば「sample001.txt」)で保存し、 stackVisualizer.pyを実行します。

python3 ./stackVisualizer.py sample001.txt

すると、画像が出てきます。(SVGpngが出ます。)

f:id:y-mos:20210726215224p:plain

他にも、色をつけたり、サイズを変えたり、線の太さを変えたりもできます。

また、ひとつのファイルから複数の画像を出力することも可能です。

詳しくはgithubのREADMEをご参照ください。

効果

この補助ツールを作ったおかげで

何より気軽にスタックの状態を画像にすることができ、

Pietの処理の解説がしやすくなりました。

全国のPiet解説者の皆さんが喉から手が出るほど欲しくなる

ツールができたと自負しています。

(全国のPiet解説者の皆さんが何人いるかについては、

 ここでは触れないことにします。)

最後に

またしてもテキストから生成する系のものを作ってしまいました。

簡単でしたが、今日はこの辺で。

では。