Best X11 Game

最高のX11ゲーム

受賞者:Daniel Vik

引用元:https://www.ioccc.org/2004/vik1.c

審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/2004/vik1.hint

動作

レースゲーム。

$ gcc -o vik1 vik1.c -lX11

$ ./vik
デフォルトのゲーム画面
図:デフォルトのゲーム画面

左右の矢印でハンドル操作。 スペースでアクセルを踏む。離すと徐々に減速する。

次のように実行すると冬になる。

$ ./vik1 a
冬モード
図:冬モード

次は夏の夜。

$ ./vik1 d
夏の夜モード
図:夏の夜モード

次は冬の夜。

$ ./vik1 ad
冬の夜モード
図:冬の夜モード

トラックの選択もでき、2とすると夏の昼のトラック2、ad3とすると冬の夜のトラック3など。

作者自身によるYouTube動画。

図:作者によるデモ動画(引用元:https://www.youtube.com/watch?v=xTseqWCtAUA

解説

短いコードにもかかわらず、信じられないほど作り込まれている。次はvik1.hintのFeatureの翻訳。

struct timevalint*として扱っている部分が壊れていた(現代ではtime_tが64ビット)ので、そこだけ修正した。 定数は奇妙に使い回されている(トラックの長さと色など)。

パッチ

パッチをダウンロード