C言語 と X Window を使ったゲーム

X WindowPOSIX 系 OS にて ウィンドウシステムを提供する表示プロトコルです。
wikipedia: X Window System

X は1984年に開発されたもの。
現在のバージョンである X11 は1987年に登場した。

最近は、素の X を使うことはなく、
Qt などのフレームワークを使うのが一般的です。
wikipedia: Qt

しかし、20年前の Linux では、素の X を使うしかなかった。

この記事では コアのライブラリである libx11 を使ったゲームを紹介する。
wikipedia: Xlib

PDA Maze

迷路ゲームです。
wikipedia: 迷路

Linux OS ベースの PDA "Agenda" 向けに作成されたものです。
PDA 博物館: Agenda_VR3

20年前のソースコードです。
修正なしでビルドできました。

パソコンで実行すると、画面が小さいですが。
なんとも言えぬ味わいがある。

ソースコードはこちら
http://www.newbreedsoftware.com/pdamaze/

Brickout

ブロック崩しです。
wikipedia: ブロックくずし

"Agenda" 向けに作成されたものです。
画面が小さいので、やりにくい。

ソースコードはこちら
http://www.newbreedsoftware.com/brickout/

ソースコードは、修正が必要でした。
修正したソースコードはこちら
https://github.com/ohwada/MAC_cpp_Samples/tree/master/x11/brickout

3D Pong

卓球ゲームの3D版です。
対戦相手は正面にいて、正面奥からボールが来る。

wikipedia: ポン (ゲーム)

ソースコードはこちら
http://www.newbreedsoftware.com/3dpong/index2.php3

ソースコードは、修正が必要でした。
修正したソースコードはこちら
https://github.com/ohwada/MAC_cpp_Samples/tree/master/x11/3dpong

XBomb

マインスイーパーです。

wikipedia: マインスイーパー

このプログラムでは、
格子の形状を一般的な四角形に加えて、六角形と三角形から選択できる。

ソースコードはこちら
https://www.gedanken.org.uk/software/xbomb/