読者です 読者をやめる 読者になる 読者になる

Aestetica

コンピュータ将棋Selene(セレネ)を作っています。名前は西海枝昌彦(さいかいし まさひこ)と読みます。

ずいぶん前に作ったもの

若気の至りで作ったもの一覧。

コンピュータチェス

と、いうほどのものとはかけ離れていて、C言語の入門書を貰った次の日に試しに作ったもの。
コンソールで盤面を表示して、コマンドで駒を動かす。
探索なんかはもちろんしてなくてキャスリングなんかも当然なくて、CPUはほとんどランダムに動く。
キングを取るとこまでやる。指し手生成部分はスーパーベタだった気がする。
のちに作り直すが、超弱い。

名前不明のゲーム

7本5本3本のつまようじを置いて、2名でお互いにつまようじを取っていき、最後に取るハメになったら負け。
ただし、取るときは1つの山から任意の数だけしか取れない。みたいなゲームあったでしょ?
探索のマネゴトをやっていて(この頃は再帰処理とかわかってない)、CPUが激烈に強かった気がする。

C言語コンパイラ

C++で作ったC言語コンパイラ。新人の分際で「俺はコンパイラを作る!」とか言い出し、ぜんぜんわからんコンパイラの本を読みながら作成。
exeファイルができて、足し算の結果をMessageBoxで表示して感動した覚えが。
これが無ければ、今の仕事を続けてたかなあ・・。と、いうほど思い出深い。

C言語C++っぽいライブラリ

20代前半?勉強は全部C++、仕事はC言語。というとき、C言語のあまりの不便さに我慢できず、工数無視して作成。
スマートポインタ、string、vector、map、algorithmとか。無駄にsortを頑張って速くした。けど、C言語畑の人には超不評だった。

C言語用例外ライブラリ

setjmp、longjmpを使って、構造化例外をC言語でできるようにしたもの。
せっかく作ったけど仕事で使うところがない。例外って必要なのか?と、考えるきっかけ。

MFC対応DirectXライブラリ

MFCで作ったウィンドウにDirectXで描画できるもの。
ライブラリを共存させることの難しさを知る。

XMLスクリプト言語peke

boost::spiritの勉強用。実際に仕事で使用。
open("aaa.html").replaceTagName(::lower).save();とかやるとタグ名が小文字になったり。
foreachでタグをツリー検索できたり、テンプレートからJSPを作成できたりと日夜改修を続けた。探してもソースが見つからない><

ExcelBASIC(≠VBA

Excelのシート部分にBASICっぽい命令とか変数を書くことで、設計書に一律なにかをしたり、SQLで引いた結果をエビデンスに残したり、印刷させたり。
「なんでVBAじゃないんですか?」の一言で目が覚めた。

JavaScriptCOBOLVM

JavaScript勉強用。テキストエリアにCOBOLソースを書くと、解析して実行する。
いったいなんのためにコレを作ろうと思ったのか、今となってはさっぱり。