★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に依 存するような実装を含めるべきではない 置く場所はどのように渡す? 盤面の絵はどのように描画する? 初期化データはどのように渡す? 警告メッセージはどのように描画する?
© Copyright 2024 ExpyDoc