
2026/08/30 20:41
Windows 3.1x 以降向けのコンウェイのライフゲームの実装
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
このテキストでは、個人が余暇に開発した無料で入手可能な Windows プログラムのコレクションを紹介しています。これらはすべて GNU 一般公共ライセンスの下で配布されています。最も重要な提供物は「GDI Rescuer」であり、これはデバッグユーティリティとして機能し、特定の状況下で停止してしまったグラフィコンテキストを回復することを目的としています。具体的には、他のプログラムによって残された孤立した GDI オブジェクトの削除を Debug Windows 3.1x で可能にします。ただし、ユーザーは古いアーキテクチャの制約により、Windows 95 およびそれ以降のバージョンとの互換性がないことに注意する必要があります。また、重要なプロジェクトの一つとして、Windows 3.1x 以降向けのライフゲームの実装があります。この実装には使用法とソースコードの構成詳細を示すテキストファイルが付属しており、ソースコードは 16 ビットの C と 32 ビットのアセンブリを組み合わせ、winmem32.dll を介して処理しています。さらに、異なる色の組織化を持つ DIBs(デバイス独立ビットマップ)を取り扱い、小さなパレットを管理し、背景ウィンドウの更新処理も実装されています。著者の本格的な開発者としての信頼性を確立した初期の商用タイトルである「Code Breaker」(マスターマインド/ Bulls & Cows ゲーム)は、最初に販売された作品です。これらのツールは、1997 年に Windows のプログラミング活動を終了するまでの 6 年間にわたって作成されました。提供されているソースコードは、この 16 ビット C と 32 ビットアセンブリの独自の組み合わせであり、winmem32.dll および toolhelp.dll などの特定の依存関係がないと正常に動作しません。著者は連絡先情報を通じてユーザーからのフィードバックを歓迎していますが、サポートの範囲は WinMain メッセージや WM_PAINT メッセージに関連する基本的な問題に限って明示されており、このレガシーソフトウェアスイートに対する期待値が適切に管理されるようになっています。
本文
Brian Raiter より Windows アプリケーション開発作品集
約 6 年にわたりWindows アプリケーション開発を職業とする傍ら、余暇時間に作成したプログラムの一部を公開いたします。雇用契約により多くのプログラムは頒布不可でしたが、有益と感じていただけるものを以下の通り紹介いたします。
Life(ライフゲーム)
- 対象: Windows 3.1x 以降向けの実装
- 特徴:
- 機能制限が多く、有用性は低いもののソースコードに興味深い実装が含まれています。
- ヘルプファイルは用意されていませんが、使用方法や構造を説明するテキストファイルを付属。
- 技術的なハイライト:
を介して16 ビット C ランゲージと32 ビットアセンブリ言語を統合winmem32.dll- 異なるカラー組織を持つ DIB(ビットマップ画像データ)間の相互変換
- 限られたパレットの非自明な管理
- バックグラウンド処理およびウィンドウ更新の実装
※詳細: より優れた実装やライフゲームに関する情報は別ページをご覧ください。
GDI Rescuer
- 対象: Windows 3.1x のデバッグ環境用ユーティリティ(Windows 95 以降では不適用)
- 機能:
と未公式に公開されている機能を活用して、他のプログラムによって残された GDI オブジェクトを検出。toolhelp.dll- 発見したオブジェクトをリスト形式で表示。
- ユーザーによる確認および削除操作が可能。
- 利用方法:
- 個別のヘルプファイルはありませんが、コマンドラインで使用されるヘルプスイッチに対応しています。
Code Breaker
- 概要: ボウルズ・アンド・コーズ(通称:マスターマインド)のゲーム実装。
- 歴史的意義:
- 著者が初めて本格的に開発したWindows 用アプリケーション。
- 販売対象とした最初のプログラムでもあります。
- バージョン情報:
- その後、改良および「デペッツォルド化」が行われています。
- ソースコード自体には特に興味深い点は含まれていません(完全なコメント欠如)。
- 推奨理由: ゲームそのものが非常に面白いからです。
- 付属資料: ヘルプファイルが付属しています。
ライセンスと注意事項
- ライセンス: 全てのプログラムはGNU GPLに基づく自由ソフトウェアです。
- 配布条件:
- 完全なソースコードを各プログラムに同梱。
- ご自由にごシェアいただき、お楽しみください。
- 連絡先: ご質問や感想についてはお気軽にご連絡ください。
※免責事項: 1997 年以降 Windows プログラミングを行っておらず、
およびWinMain()を超える範囲の技術的問いかけにはお答えすることができませんのでご了承ください。WM_PAINT
Brian Raiter