Blokus Duo

最近プログラムをまともに書いていないので、練習がてらブロックスデュオをC言語でかいてみた。ブロックスデュオは、ブロックスというゲームの亜種のようだ。1日に3〜4時間ほど?投入して、3日くらいでできました。

http://github.com/hayamiz/blokusduo/tree/master

C言語でやるにあたって、汎用的なデータ構造あったほうが楽かなー、つくるのめんどいなー、外部のライブラリ引っぱってくるほどでもないしなー、とか思いながら場当たり的に書いていったので、頻繁にreallocしまくったり、コードを書く量を減らしたいがためにmallocして作ったデータをほとんど使わずにfreeしてみたり、合法手の生成が総当たりだったりと、教育的にはよろしくない感じのコードですいませんすいませんという感じ。

一応、全体的なプログラムの構造としては、後からUIをGUIも選べるようにしたり、ネットワーク経由でプレイヤーを参加させたりといったことをしやすいように作ったつもり。でも、つくる気はほとんどないので、たぶん作らないですね。

プログラムの規模としては、C言語で1400行、32KBなので、PerlワンライナーでBlokusDuoが実装される日も近いと思います。