?? compare_second.cpp
字號:
// Compare_second.cpp : 實現文件
//
#include "stdafx.h"
#include "AI.h"
#include "Compare_second.h"
#include ".\compare_second.h"
// CCompare_second 對話框
IMPLEMENT_DYNAMIC(CCompare_second, CDialog)
CCompare_second::CCompare_second(CWnd* pParent /*=NULL*/)
: CDialog(CCompare_second::IDD, pParent)
{
for(int i = 1, j = IDC_STEP_A1_1, m = IDC_NODE_A1_1, k = IDC_KEY_A1_1;
i <= 8; ++i, ++j, ++m, ++k){
comp_1[i].step_item = j;
comp_1[i].node_item = m;
comp_1[i].key_item = k;
}
for(int i = 1, j = IDC_STEP_A2_1, m = IDC_NODE_A2_1, k = IDC_KEY_A2_1;
i <= 8; ++i, ++j, ++m, ++k){
comp_2[i].step_item = j;
comp_2[i].node_item = m;
comp_2[i].key_item = k;
}
m_her[1] = 1;
m_her[2] = 2;
m_her[3] = 4;
m_her[4] = 8;
m_her[5] = 16;
m_her[6] = 25;
m_her[7] = 36;
m_her[8] = 48;
}
CCompare_second::~CCompare_second()
{
}
void CCompare_second::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CCompare_second, CDialog)
ON_BN_CLICKED(IDC_COMP_SEARCH, OnBnClickedCompSearch)
END_MESSAGE_MAP()
// CCompare_second 消息處理程序
//線程執行函數:
DWORD WINAPI CompSearchProc_second(LPVOID lpParameter){
CCompare_second *p = (CCompare_second *) lpParameter;
p->stop = 0;
//搜索、顯示
char s[10];
for(int i = 1; i <= 8 && !p->stop; ++i){
//A*1
p->search = &p->astar1;
p->search->search(p->m_begin, p->m_end, p->stop, p->m_her[i]);
p->SetDlgItemInt(p->comp_1[i].step_item, p->search->getStep() );
p->SetDlgItemInt(p->comp_1[i].node_item, p->search->getTotalnode() );
sprintf(s, "%.3lf", p->search->getB() );
p->SetDlgItemText(p->comp_1[i].key_item, s);
//A*2
p->search = &p->astar2;
p->search->search(p->m_begin, p->m_end, p->stop, p->m_her[i]);
p->SetDlgItemInt(p->comp_2[i].step_item, p->search->getStep() );
p->SetDlgItemInt(p->comp_2[i].node_item, p->search->getTotalnode() );
sprintf(s, "%.3lf", p->search->getB() );
p->SetDlgItemText(p->comp_2[i].key_item, s);
}
p->SetDlgItemText(IDC_COMP_SEARCH, "開始搜索");
return 0;
}
void CCompare_second::OnBnClickedCompSearch()
{
// TODO: 在此添加控件通知處理程序代碼
CString str;
if(GetDlgItemText(IDC_COMP_SEARCH, str), str == "停止搜索"){
stop = 1;
return;
}
SetDlgItemText(IDC_COMP_SEARCH, "停止搜索");
HANDLE hThread1 = CreateThread(NULL, 0, CompSearchProc_second, this, 0, NULL);
CloseHandle(hThread1);
}
BOOL CCompare_second::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加額外的初始化
for(int i = 1, j = IDC_HER_1; i <= 8; ++i, ++j){
SetDlgItemInt(j, m_her[i]);
}
return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁應返回 FALSE
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -