もっとも協力的なグラフィックス
引用元:https://www.ioccc.org/2019/duble/prog.c
審査員・作者による説明:https://www.ioccc.org/2019/duble/index.html
ターミナルでのお絵かきツール。 同じ画面を複数人で編集できる。
1つめの端末で次のように実行する。
$ gcc -Dg=11 -Ds=0 -DV=24 -DW=80 -o prog prog.c
$ ./prog /tmp/drawing

操作は次の通り。
pでペンモード(カーソルを移動したら現在色で塗っていく)。lで線モード(目的地まで移動してからもう一度lを押すことで線分を引く)。cで色を変える。qで終了。線モードで直線を引く様子。

この画面は開いたまま、別の端末で同じコマンドを実行することで、同じセッションにジョインできる。
$ ./prog /tmp/drawing
操作方法は同じ。 どちらの編集もリアルタイムで同期される。

すべてのクライアントが編集終了したら、/tmp/drawingを実行することで編集結果を見ることができる。

コード形状は、スクラッチパッドに線を書いている様子?
通信はUNIXソケットで行う。
すべて終了したときにUNIXソケットを実行ファイルに置き換えるというのは少しおもしろい。
この実行ファイルは#!/bin/catのスクリプトになっている。
ls --color /tmp/drawingをすれば、編集状態が見えるだろうとのこと(UNIXソケットか実行ファイルかで色が変わる環境が多いので)。