SDL.d

http://shinh.skr.jp/d/SDL.zip

SDL を D から使うためのポーティングですが、主に D の import ルールが変化したことにあわせて更新しました。更新点は以下の通り。

  • SDL.d で他ファイルを全て import するように
  • かつ、 public import するように
  • test 2つを現行の D でコンパイルできるように
  • SDL_Keysym.d, SDL_Version.d を SDL_keysym_.d と SDL_version_.d に変更

あ、あと SDL.d の static this 節とかは明らかにうざいのでいくらか前に削ってあります。まだたまに見かけるので、ある人の SDL.d は少し古いです。最後の Keysym => keysym_ とかの変更は、小文字になってるアーカイブは Windows な人が気がつかなくて、主に私がめんどうだなと思ったからです。

ICFPC の BALANCE を説明

BLNCE を IRC で簡単に説明しようとしてうまく説明できなかったので、これに一番萌えた以上、ちゃんと説明したい、と思い筆を取りました。ドキュメントの翻訳…でもいいかと思ったんですが、ライセンスわからないし、詳説したいわけでもないし自分ふうに。

プログラムは 1Byte に 1命令入ります。それと、 256Byte のメモリと、ソースレジスタが4つ(以下 S0 S1 S2 S3と記述)、デスティネーションレジスタが2つ(以下 D0 D1)あります。毎クロック、インストラクションポインタ(以下IP)の位置の命令を読んで実行します。ここまでは普通ですが、 IP の移動速度を示すレジスタがあるのが早くも少し不審な感じです。この速度は IS と呼ばれ、初期値は 1 なので、まぁ普通に動きます。

そんな割と普通なマシンをイカれた 4つの命令セットで記述します。命令は最初の 3bit が opcode で、残り 5bit が引数です。最後の PHYSICS が最もイカレてると思います。

あ、以下のような内容は自分で考えて気付いた方が絶対面白いので、あんまりいないでしょうけど、自分で考える気がある人は続きを読まないようにお願いします。つか書いてみるとえらい長文になったのでどうせ誰も読まないよ、と思います。というか文の長さから、私が今回の ICFPC をとても楽しめたことを察して下さい。

続きを読む
なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h