亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aidlg.cpp

?? 滑塊問題求解系統:利用深度優先搜索和廣度優先搜索解決有趣的滑塊問題求解系統。
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// AIDlg.cpp : 實現文件
//

#include "stdafx.h"
#include "AI.h"
#include "AIDlg.h"
#include ".\aidlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 用于應用程序“關于”菜單項的 CAboutDlg 對話框

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// 對話框數據
	enum { IDD = IDD_ABOUTBOX };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

// 實現
protected:
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()


// CAIDlg 對話框




CAIDlg::CAIDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAIDlg::IDD, pParent)	
	, m_maxstep(25)
	, m_sleep(500)
	, m_byhand(false)
	, m_selectval(0)
	, gamestart(false)	
	, search_type(TYPE_ASTAR1)
	, m_heuristic(1)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);	
	memset(pos_begin, -1, sizeof(pos_begin));
	memset(pos_end, -1, sizeof(pos_end));
	memset(pos_begin_return, -1, sizeof(pos_begin_return));
	memset(pos_end_return, -1, sizeof(pos_end_return));
}



void CAIDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);

	for(int i = IDC_INIT_0, j = 0; i <= IDC_INIT_8; ++i, ++j)
		DDX_Control(pDX, i, m_init[j]);
	for(int i = IDC_END_0, j = 0; i <= IDC_END_8; ++i, ++j)
		DDX_Control(pDX, i, m_end[j]);
	for(int i = IDC_HAND_0, j = 1; i <= IDC_HAND_7; ++i, ++j)
		DDX_Control(pDX, i, m_hand[j]);
	for(int i = IDC_CHECK_BEGIN1, j = 1; i <= IDC_CHECK_BEGIN8; ++i, ++j)
		DDX_Control(pDX, i, select_begin[j]);
	for(int i = IDC_CHECK_END1, j = 1; i <= IDC_CHECK_END8; ++i, ++j)
		DDX_Control(pDX, i, select_end[j]);
	DDX_Control(pDX, IDC_CHECK_BEGIN, m_random_begin);
	DDX_Control(pDX, IDC_CHECK_END, m_random_end);
	DDX_Control(pDX, IDC_BUTTON_NEXT, nextstep);
	DDX_Control(pDX, IDC_BUTTON_AUTO, display);
	DDX_Control(pDX, IDC_BUTTON_PREV, prevstep);
	DDX_Control(pDX, IDC_BUTTON_RECOVER, recover);
}

BEGIN_MESSAGE_MAP(CAIDlg, CDialog)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDC_BUTTON_INTRODUCTION, OnBnClickedButtonIntroduction)
	ON_BN_CLICKED(IDC_BUTTON_HAND, OnBnClickedButtonHand)
	ON_BN_CLICKED(IDC_HAND_0, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_1, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_2, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_3, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_4, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_5, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_6, OnBnClickedHand)
	ON_BN_CLICKED(IDC_HAND_7, OnBnClickedHand)
	ON_BN_CLICKED(IDC_END_0, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_1, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_2, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_3, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_4, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_5, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_6, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_7, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_END_8, OnBnClickedEnd)
	ON_BN_CLICKED(IDC_INIT_0, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_1, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_2, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_3, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_4, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_5, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_6, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_7, OnBnClickedInit)
	ON_BN_CLICKED(IDC_INIT_8, OnBnClickedInit)
	ON_BN_CLICKED(IDC_CHECK_HAND, OnBnClickedCheckHand)
	ON_BN_CLICKED(IDC_BUTTON_RANDOM, OnBnClickedButtonRandom)
	ON_BN_CLICKED(IDC_RADIO_DFS, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_BDFS, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_BFS, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_TBFS, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_ASTAR1, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_ASTAR2, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_IDFS, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_RADIO_IDA, OnBnClickedSearchType)
	ON_BN_CLICKED(IDC_BUTTON_BEGIN, OnBnClickedButtonBegin)
	ON_BN_CLICKED(IDC_BUTTON_NEXT, OnBnClickedButtonNext)
	ON_BN_CLICKED(IDC_BUTTON_PREV, OnBnClickedButtonPrev)
	ON_BN_CLICKED(IDC_BUTTON_DEFAULT, OnBnClickedButtonDefault)
	ON_BN_CLICKED(IDC_BUTTON_RECOVER, OnBnClickedButtonRecover)
	ON_BN_CLICKED(IDC_BUTTON_AUTO, OnBnClickedButtonAuto)
	ON_COMMAND(ID_ABOUT, OnAbout)
	ON_COMMAND(ID_GIRL, OnGirl)
	ON_COMMAND(ID_DIGITS, OnDigits)
	ON_COMMAND(ID_, SetParameter)
	ON_COMMAND(ID_ICO, OnIco)
	ON_COMMAND(ID_CREATE, OnCreate)
	ON_COMMAND(ID_HELP, OnHelp)
	ON_COMMAND(ID_COMPARE, OnCompare)
END_MESSAGE_MAP()


// CAIDlg 消息處理程序

BOOL CAIDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// 將\“關于...\”菜單項添加到系統菜單中。

	// IDM_ABOUTBOX 必須在系統命令范圍內。
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// 設置此對話框的圖標。當應用程序主窗口不是對話框時,框架將自動
	//  執行此操作
	SetIcon(m_hIcon, TRUE);			// 設置大圖標
	SetIcon(m_hIcon, FALSE);		// 設置小圖標

	// TODO: 在此添加額外的初始化代碼


	//設置窗口大小
	GetWindowRect(&rectLarge);
	GetWindowRect(&rectShow);
	GetDlgItem(IDC_EDIT_INTRO)->GetWindowRect(&rectRight);
	GetDlgItem(IDC_SEP)->GetWindowRect(&rectDown);
	rectShow.bottom = rectDown.top;
	rectShow.right = rectRight.left;
	SetWindowPos(NULL,0,0,rectShow.Width(),rectShow.Height(),
			SWP_NOMOVE | SWP_NOZORDER);
	
	//設置各個編輯框初始數據
	SetDlgItemInt(IDC_EDIT_HER, m_heuristic);
	SetDlgItemInt(IDC_EDIT_MAXSTEP, m_maxstep);
	SetDlgItemInt(IDC_EDIT_SLEEP, m_sleep);

	//是否隨機狀態
	m_random_begin.SetCheck(1);
	m_random_end.SetCheck(1);
	( (CButton *) GetDlgItem(IDC_CHECK_NOANSWER) )->SetCheck(1);
	
	//位圖資源
	loadpicture(IDB_BITMAP1);

	//演示按鈕初狀態
	prevstep.EnableWindow(FALSE);
	nextstep.EnableWindow(FALSE);
	recover.EnableWindow(FALSE);
	display.EnableWindow(FALSE);

	//狀態
	SetDlgItemText(IDC_NOWSTEP, "     未開始");
	( (CButton *) GetDlgItem(IDC_RADIO_ASTAR1) )->SetCheck(1);
	search = &astar1;
	SetInstroduction();

	//開始不能生成狀態圖
	GetMenu()->EnableMenuItem(ID_CREATE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);

	SetClassLong(m_hWnd, GCL_HICON, (LONG)LoadIcon(NULL, MAKEINTRESOURCE(IDR_MAINFRAME) ) );

	return TRUE;  // 除非設置了控件的焦點,否則返回 TRUE
}

void CAIDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// 如果向對話框添加最小化按鈕,則需要下面的代碼
//  來繪制該圖標。對于使用文檔/視圖模型的 MFC 應用程序,
//  這將由框架自動完成。

void CAIDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 用于繪制的設備上下文

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		// 使圖標在工作矩形中居中
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// 繪制圖標
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

//當用戶拖動最小化窗口時系統調用此函數取得光標顯示。
HCURSOR CAIDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void CAIDlg::OnBnClickedButtonIntroduction()
{
	// TODO: 在此添加控件通知處理程序代碼
	CString str;
	if(GetDlgItemText(IDC_BUTTON_INTRODUCTION, str), str == "詳細>>"){
		SetDlgItemText(IDC_BUTTON_INTRODUCTION, "縮略<<");
	}else{
		SetDlgItemText(IDC_BUTTON_INTRODUCTION, "詳細>>");
	}
	if( str == "詳細>>")
		rectShow.right = rectLarge.right;
	else
		rectShow.right = rectRight.left;
	SetWindowPos(NULL,0,0,rectShow.Width(),rectShow.Height(),
			SWP_NOMOVE | SWP_NOZORDER);	
}

void CAIDlg::OnBnClickedButtonHand()
{
	// TODO: 在此添加控件通知處理程序代碼	
	if(!path.empty() && ((CButton *) GetDlgItem(IDC_BUTTON_HAND) )->GetCheck() &&
		IDOK != MessageBox("將要丟失原來信息,是否確認", "確認", MB_OKCANCEL) ){
			( (CButton *) GetDlgItem(IDC_BUTTON_HAND) )->SetCheck(FALSE);			
			return;
	}	
	if( ( (CButton *) GetDlgItem(IDC_BUTTON_HAND) )->GetCheck() ){		
		path.clear();
		rectShow.bottom = rectLarge.bottom;
		prevstep.EnableWindow(FALSE);
		nextstep.EnableWindow(FALSE);
		display.EnableWindow(FALSE);
		recover.EnableWindow(FALSE);
		SetNowstep(0);
	}else
		rectShow.bottom = rectDown.top;
	SetWindowPos(NULL,0,0,rectShow.Width(),rectShow.Height(),
			SWP_NOMOVE | SWP_NOZORDER);	
	GetMenu()->EnableMenuItem(ID_CREATE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
}

void CAIDlg::OnBnClickedHand()
{
	// TODO: 在此添加控件通知處理程序代碼	
	m_selectval = GetFocus()->GetDlgCtrlID() - IDC_HAND_0 + 1;
}


void CAIDlg::changeBitmap(CButton button[], CButton check[], int pos[], int pos_return[], int val){
	static bool exchange = false;
	if(m_selectval){
		if(pos[m_selectval] == val)
			return;
		if(pos_return[val] != -1){
			if(exchange){
				pos[pos_return[val] ] = pos[m_selectval];
			}else{
				check[pos_return[val] ].SetCheck(0);
				pos[pos_return[val] ] = -1;
			}			
		}
		if(pos[m_selectval] != -1){
			if(exchange){
				button[pos[m_selectval]].SetBitmap(m_bitmap[pos_return[val]]);
				pos_return[pos[m_selectval ] ] = pos_return[val];
			}else{
				button[pos[m_selectval]].SetBitmap(NULL);
				pos_return[pos[m_selectval ] ] = -1;
			}
		}
		if(exchange)
			exchange = false;
		pos[m_selectval] = val;
		pos_return[val] = m_selectval;
		button[val].SetBitmap(m_bitmap[m_selectval]);
		check[m_selectval].SetCheck(1);
		m_selectval = 0;
	}else{
		if(pos_return[val] != -1){
			m_selectval = pos_return[val];
			exchange = true;
		}
	}	
}

void CAIDlg::OnBnClickedEnd()
{
	// TODO: 在此添加控件通知處理程序代碼
	if(!m_byhand && !gamestart)
		changeBitmap(m_end, select_end, pos_end, pos_end_return, GetFocus()->GetDlgCtrlID() - IDC_END_0);	
}

void CAIDlg::OnBnClickedInit()
{
	// TODO: 在此添加控件通知處理程序代碼
	if(!m_byhand && !gamestart)
		changeBitmap(m_init, select_begin, pos_begin, pos_begin_return, GetFocus()->GetDlgCtrlID() - IDC_INIT_0);
	else{
		if(m_byhand){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线电影| 亚洲成av人综合在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美群妇大交群中文字幕| 亚洲.国产.中文慕字在线| 在线这里只有精品| 午夜日韩在线观看| 91精品国产aⅴ一区二区| 免费成人结看片| 久久久精品日韩欧美| 成人免费看的视频| 国产精品美女视频| 91国产成人在线| 日本午夜一区二区| 久久久噜噜噜久久人人看| 国产成人午夜精品5599| 亚洲图片你懂的| 欧美日韩精品免费| 国产中文字幕精品| 亚洲精品欧美激情| 日韩一区二区在线观看视频播放| 激情另类小说区图片区视频区| 欧美国产成人精品| 欧美福利视频一区| 粉嫩蜜臀av国产精品网站| 亚洲美腿欧美偷拍| 日韩午夜中文字幕| jlzzjlzz欧美大全| 男人操女人的视频在线观看欧美| 久久久久久久久久美女| 欧美调教femdomvk| 国产风韵犹存在线视精品| 一区二区三区国产精华| 精品日韩在线观看| 91丨porny丨中文| 久久99精品国产麻豆婷婷| 亚洲天堂精品视频| 欧美成人r级一区二区三区| 91在线视频官网| 卡一卡二国产精品 | 日韩一区和二区| 99久久精品99国产精品| 精品制服美女久久| 亚洲国产一区视频| 国产精品久久久久毛片软件| 欧美精品在线视频| 色婷婷久久久亚洲一区二区三区| 国产在线精品一区二区不卡了| 夜夜精品视频一区二区| 欧美韩国日本一区| 久久综合久久综合亚洲| 欧美日韩欧美一区二区| 91丝袜美女网| 波多野结衣中文字幕一区二区三区| 日本在线观看不卡视频| 亚洲电影你懂得| 亚洲日本中文字幕区| 欧美国产日韩a欧美在线观看 | 91久久奴性调教| 国产精品夜夜爽| 久久精品国产免费看久久精品| 亚洲天天做日日做天天谢日日欢 | 99麻豆久久久国产精品免费优播| 麻豆传媒一区二区三区| 亚洲成在线观看| 亚洲综合男人的天堂| 亚洲视频在线一区二区| 国产精品天干天干在观线| 国产视频一区在线观看| 亚洲精品一区二区精华| 精品国产一区二区三区不卡| 91精品国产aⅴ一区二区| 欧美精品1区2区3区| 欧美系列亚洲系列| 欧美日韩亚洲高清一区二区| 欧美午夜精品理论片a级按摩| 色悠悠久久综合| 色菇凉天天综合网| 在线观看日韩高清av| 欧美无乱码久久久免费午夜一区 | 这里只有精品免费| 91精品视频网| 日韩一区二区三区高清免费看看| 91精品国产综合久久久久久漫画| 在线播放国产精品二区一二区四区| 欧美特级限制片免费在线观看| 欧美日韩中文字幕一区二区| 欧美色中文字幕| 91精品国产乱码| 久久久久久久久久久99999| 国产欧美日韩另类一区| 国产精品久久久久久久久免费樱桃| 国产精品日韩成人| 亚洲精品免费在线| 日韩av一区二区三区| 国产在线播放一区二区三区| 国产风韵犹存在线视精品| 91亚洲国产成人精品一区二区三 | 欧美日韩中文一区| 7799精品视频| 久久久一区二区三区| 亚洲天堂精品视频| 午夜视频在线观看一区二区三区 | 丁香啪啪综合成人亚洲小说 | 欧美日韩在线播| 日韩一区二区三区在线视频| 久久婷婷国产综合精品青草| 成人免费一区二区三区在线观看| 亚洲欧美日韩国产中文在线| 三级成人在线视频| 韩国欧美一区二区| 一本色道综合亚洲| 欧美成人a∨高清免费观看| 中文字幕中文字幕一区二区| 午夜精彩视频在线观看不卡| 国产一区二区三区在线观看免费视频| 成人av在线一区二区| 欧美精品一二三四| 国产精品色哟哟| 日韩va亚洲va欧美va久久| 成人免费av在线| 欧美一级一区二区| 18成人在线观看| 久久精品免费看| 欧美在线一区二区| 国产欧美一区二区在线观看| 午夜日韩在线电影| 97se亚洲国产综合自在线不卡 | 亚洲一区在线观看网站| 激情av综合网| 欧美日韩免费一区二区三区| 久久久久久久久99精品| 日韩国产成人精品| 91欧美一区二区| 久久免费视频色| 日韩成人av影视| 91蜜桃在线免费视频| 性久久久久久久久| 99久久精品一区| 久久青草欧美一区二区三区| 日韩精品国产精品| 日本精品视频一区二区| 国产婷婷色一区二区三区在线| 日韩—二三区免费观看av| 91麻豆福利精品推荐| 国产欧美日韩卡一| 国产激情一区二区三区四区| 3atv在线一区二区三区| 亚洲国产精品久久一线不卡| jiyouzz国产精品久久| 国产人久久人人人人爽| 精品在线一区二区| 91精品国产欧美日韩| 午夜影院在线观看欧美| 色一情一伦一子一伦一区| 欧美国产激情二区三区| 国产乱码精品一区二区三区五月婷| 4438成人网| 免费在线观看视频一区| 欧美日韩视频一区二区| 欧美一区二区三区性视频| 色噜噜狠狠色综合中国| 精品影视av免费| 久久久久久久久久久久久夜| 欧美大片一区二区三区| 色av成人天堂桃色av| 国产精品一区三区| 国产精品一区在线| 综合久久国产九一剧情麻豆| 欧美日韩国产123区| 91麻豆国产福利精品| 日韩高清不卡一区二区三区| 在线观看欧美精品| 亚洲一区二区精品久久av| 欧美又粗又大又爽| 性欧美疯狂xxxxbbbb| 欧美一区二区三区小说| 蜜臀国产一区二区三区在线播放| 日韩天堂在线观看| 老司机一区二区| 久久影院午夜片一区| 国产精品资源站在线| 国产亚洲精品7777| 99久久久国产精品免费蜜臀| 亚洲日本va在线观看| 欧洲激情一区二区| 麻豆精品久久精品色综合| 久久综合九色综合欧美亚洲| 国产一区二区三区视频在线播放| 欧美国产一区二区在线观看| 99re热这里只有精品免费视频 | 在线免费精品视频| 午夜视频久久久久久| 日韩精品一区二区在线| 国产福利一区二区三区视频在线| 亚洲欧洲www| 欧美日韩国产大片| 国产传媒欧美日韩成人| 亚洲色图19p| 日韩欧美中文字幕制服|