プログラムの使用は自己責任でお願いします。
Windows版 マインスイーパのプレイ記録を保存。
つまり、いつも通りにプレイしたマインスイーパでハイスコアを更新した場合、そのときのプレイ動画が保存されるようにしたい。ハイスコア時のプレイ動画と、そのときのクリア画像が保存されればよさげ。
こんな感じ。
クリア画像
ハイスコア時に保存される動画 (wmv形式)
必要ライブラリ
- Windom Media Encoder 9.0 以上
実行方法
!!! 展開
!!! 実行
!!! 注意、起動直後の録画のあたりについて
実装手順を確認するためにも、マインスイーパの状態遷移を適当に書き出してみる。
マインスイーパの大まかな状態遷移
このうち、ゲーム中状態からゲーム後状態までを記録できればよい。従って必要そうな処理としては、
- マインスイーパのウィンドウにフォーカスがある場合の情報取得
- マインスイーパのゲーム開始を検出
- ゲーム中のマインスイーパウィンドウを動画としてキャプチャ
- ハイスコアを叩き出したことの検出
- ハイスコア時の終了画面を画像としてキャプチャ
くらい。
上記の実現手段として、プレイ動画のキャプチャには WMEncoder を用い、画面の画像キャプチャには WIN32 API を用いる。また、開発環境は Visual Stdio 2003 で、言語は C# とする。
以下、どのように実装したかの説明