Othello企画第一段階について - K0me-Lab

★C++/オブジェクト指向実践企画★
Othelloゲーム作成 その1
開発手順
1.盤面データ、及びその出力部分を作成する


実際に盤面を表示できることをテストしておくこと
勝負
ルール判定
コマンドライン
入出力
GUI
入出力
入出力
抽象
Block
盤面
データ
Player
抽象Block
Player0 Player1
AI 弱
AI
抽象
Block
AI 強
GUIのフレームワーク

GUIのフレームワーク内には、Mainループ
が含まれている(事がほとんど?)

MFCでは、WinMainを記述する必要はなく、
メッセージハンドラのみ記述する



マウスイベントハンドラ
Windowメッセージハンドラ
キーボードイベントハンドラ
MFCの例
MFC内
ユーザ実装部
WinMain
ループ処理
メッセージハンドラ
メッセージハンドラ
メッセージハンドラ
メッセージハンドラ
コマンドラインとGUIの拡張性を持たせ
るには?


共通で使えるようにするOthello System
(名前は最高の余地あり)内に、Mainルー
プ部分を含むべきではないと思われる
共通Othello部分は、Mainループ部分の実
装から見たライブラリのように見える
Othello System
それぞれの場
合で実装する
部分
コマンドライン
入出力
GUI
入出力
勝負
ルール判定
入出力
抽象
Block
盤面
データ
Player
抽象Block
Player0
Player1
Othello System部
AI 弱
AI
抽象
Block
AI 強
コマンドラインでの実装例
コマンドライン処理
標準入出力
ループ処理
Othello System
GUIでの実装例
MFC内
WinMain
ループ処理
ユーザ実装部
メッセージハンドラ
メッセージハンドラ
メッセージハンドラ
メッセージハンドラ
Othello System
最重要な部分

Othello Systemと外部とのInterfaceを十分考
えて設計する必要がある





Othello System内には、コマンドライン、GUIに依
存するような実装を含めるべきではない
置く場所はどのように渡す?
盤面の絵はどのように描画する?
初期化データはどのように渡す?
警告メッセージはどのように描画する?