?? aidlg.h
字號:
// AIDlg.h : 頭文件
//
#pragma once
#include "atltypes.h"
#include "afxwin.h"
#include "afxcmn.h"
#include "searcher.h"
#include "dfs.h"
#include "bdfs.h"
#include "idfs.h"
#include "bfs.h"
#include "tbfs.h"
#include "astar1.h"
#include "astar2.h"
#include "ida.h"
#include "parameter.h"
#include "graph.h"
#include "help.h"
#include "compare.h"
#include <vector>
//#define TEST
#ifdef TEST
#include <cstdlib>
#endif
// CAIDlg 對話框
class CAIDlg : public CDialog
{
// 構造
public:
CAIDlg(CWnd* pParent = NULL); // 標準構造函數
// 對話框數據
enum { IDD = IDD_AI_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 實現
protected:
HICON m_hIcon;
// 生成的消息映射函數
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnBnClickedButtonIntroduction();
public:
const static int NUM = 9;
CBitmap m_bitmap[NUM]; //位圖信息
CButton m_init[NUM], m_end[NUM], m_hand[NUM]; //狀態按鈕
CRect rectLarge;
CRect rectShow;
CRect rectRight;
CRect rectDown;
public:
afx_msg void OnBnClickedButtonHand();
private:
void changeBitmap(CButton [], CButton [], int [], int [], int ); //改變圖片函數
public:
CParameter set; //參數設置窗口
int m_heuristic; // 啟發函數系數
int m_maxstep; //有界深度優先函數界限
int m_sleep; //自動演示延遲時間(ms)
CButton m_random_begin; //是否隨機初始狀態
CButton m_random_end; //是否隨機結束狀態
bool m_byhand; //是否手動玩
int m_selectval; //此值用來選擇狀態圖片
int pos_begin[NUM], pos_end[NUM]; //圖片所在位置
int pos_begin_return[NUM], pos_end_return[NUM]; //狀態反向映射圖片位置
CButton select_begin[NUM], select_end[NUM]; //標記圖片是否被選擇
bool gamestart; //是否求解中
std::vector<int> path; //用于保存路徑
int top; //指示路徑中的當前結點
int nowstatus, laststatus; //初始、結束狀態
public:
afx_msg void OnBnClickedHand();
afx_msg void OnBnClickedEnd();
afx_msg void OnBnClickedInit();
afx_msg void OnBnClickedCheckHand();
afx_msg void OnBnClickedButtonRandom();
public:
CButton prevstep; //上一步
CButton nextstep; //下一步
CButton recover; //恢復狀態
CButton display; //自動演示
public:
BOOL statusReady(void);
int getStatus(int pos_return[]);
void SetStatus(CButton button[], CButton select[], int pos[], int pos_return[], int status);
public:
//各種搜索算法
DFS dfs;
BDFS bdfs;
IDFS idfs;
BFS bfs;
TBFS tbfs;
ASTAR1 astar1;
ASTAR2 astar2;
IDA ida;
searcher *search;
int ans; //搜索結果
enum{TYPE_DFS = 0, TYPE_BDFS, TYPE_BFS, TYPE_TBFS, TYPE_ASTAR1, TYPE_ASTAR2, TYPE_IDFS, TYPE_IDA} search_type;
int stop; //用于終止線程
public:
#ifdef TEST
void test();
#endif
afx_msg void OnBnClickedSearchType();
void SetInstroduction();
afx_msg void OnBnClickedButtonBegin();
void move(int pos);
afx_msg void OnBnClickedButtonNext();
afx_msg void OnBnClickedButtonPrev();
afx_msg void OnBnClickedButtonDefault();
afx_msg void OnBnClickedButtonRecover();
afx_msg void OnBnClickedButtonAuto();
void loadpicture(int start);
afx_msg void OnAbout();
afx_msg void OnGirl();
void changeimage(int id);
afx_msg void OnDigits();
void SetNowstep(int step);
afx_msg void SetParameter();
afx_msg void OnIco();
afx_msg void OnCreate();
afx_msg void OnHelp();
afx_msg void OnCompare();
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -