⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prop2.cpp

📁 用C++开发的一个人工神经网络小游戏
💻 CPP
字号:
// Prop2.cpp : implementation file
//

#include "stdafx.h"
#include "EludeObstacle.h"
#include "Prop2.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CProp2 property page

extern double globe_weightRange;
extern int globe_NumInput;
extern int globe_NumOutput;
extern int globe_NumHiddenLayers;
extern int globe_iNeuronsPerHiddenLayer;
extern double globe_dActivationResponse;
extern double globe_UnitaryRate;

extern int g_WGeneration;
extern int g_Wpopsize;
extern double g_WdMutationRate;
extern double g_WdCrossoverRate;
extern double g_WdMaxPerturbation;
extern int g_WiNumElite;
extern double g_WdBigMutationRate;
extern double g_WdBigPerturbation;

IMPLEMENT_DYNCREATE(CProp2, CPropertyPage)

CProp2::CProp2() : CPropertyPage(CProp2::IDD)
{
	//{{AFX_DATA_INIT(CProp2)
	m_NumHiddenLayers = 0;
	m_iNeuronsPerHiddenLayer = 0;
	m_dActivationResponse = 0.0;
	m_UnitaryRate = 0.0;
	m_WGeneration = 0;
	m_Wpopsize = 0;
	m_WiNumElite = 0;
	m_NumSense = 0;
	m_weightRange = 0.0;
	m_WdMutationRate = 0.0;
	m_WdBigMutationRate = 0.0;
	m_WdBigPerturbation = 0.0;
	m_WdCrossoverRate = 0.0;
	m_WdMaxPerturbation = 0.0;
	//}}AFX_DATA_INIT
}

CProp2::~CProp2()
{
}

void CProp2::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CProp2)
	DDX_Text(pDX, IDC_EDIT1, m_NumHiddenLayers);
	DDX_Text(pDX, IDC_EDIT2, m_iNeuronsPerHiddenLayer);
	DDX_Text(pDX, IDC_EDIT3, m_dActivationResponse);
	DDX_Text(pDX, IDC_EDIT4, m_UnitaryRate);
	DDX_Text(pDX, IDC_EDIT6, m_WGeneration);
	DDX_Text(pDX, IDC_EDIT7, m_Wpopsize);
	DDX_Text(pDX, IDC_EDIT8, m_WiNumElite);
	DDX_Text(pDX, IDC_EDIT9, m_NumSense);
	DDX_Text(pDX, IDC_EDIT10, m_weightRange);
	DDX_Text(pDX, IDC_EDIT11, m_WdMutationRate);
	DDX_Text(pDX, IDC_EDIT13, m_WdBigMutationRate);
	DDX_Text(pDX, IDC_EDIT14, m_WdBigPerturbation);
	DDX_Text(pDX, IDC_EDIT15, m_WdCrossoverRate);
	DDX_Text(pDX, IDC_EDIT12, m_WdMaxPerturbation);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CProp2, CPropertyPage)
	//{{AFX_MSG_MAP(CProp2)
		// NOTE: the ClassWizard will add message map macros here
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CProp2 message handlers

void CProp2::init()
{
	m_NumHiddenLayers = globe_NumHiddenLayers;
	m_iNeuronsPerHiddenLayer = globe_iNeuronsPerHiddenLayer;
	m_dActivationResponse = globe_dActivationResponse;
	m_UnitaryRate = globe_UnitaryRate;
	m_WGeneration = g_WGeneration;
	m_Wpopsize = g_Wpopsize;
	m_WiNumElite = g_WiNumElite;
	m_NumSense = globe_NumInput/2 - 2;
	m_weightRange = globe_weightRange;
	m_WdMutationRate = g_WdMutationRate;
	m_WdMaxPerturbation = g_WdMaxPerturbation;
	m_WdBigMutationRate = g_WdBigMutationRate;
	m_WdBigPerturbation = g_WdBigPerturbation;
	m_WdCrossoverRate = g_WdCrossoverRate;
}

void CProp2::OnOK() 
{
	// TODO: Add your specialized code here and/or call the base class
	UpdateData();

	globe_NumHiddenLayers = m_NumHiddenLayers;
	globe_iNeuronsPerHiddenLayer = m_iNeuronsPerHiddenLayer;
	globe_dActivationResponse = m_dActivationResponse;
	globe_UnitaryRate = m_UnitaryRate;
	g_WGeneration = m_WGeneration;
	g_Wpopsize = m_Wpopsize;
	g_WiNumElite = m_WiNumElite;
	globe_NumInput = m_NumSense*2 + 4;
	globe_weightRange = m_weightRange;
	g_WdMutationRate = m_WdMutationRate;
	g_WdMaxPerturbation = m_WdMaxPerturbation;
	g_WdBigMutationRate = m_WdBigMutationRate;
	g_WdBigPerturbation = m_WdBigPerturbation;
	g_WdCrossoverRate = m_WdCrossoverRate;

	CPropertyPage::OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -