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

📄 tower.cpp

📁 汉诺塔的实现
💻 CPP
字号:
// Tower.cpp: implementation of the Tower class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "HanoiTower.h"
#include "Tower.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Tower::Tower()
{
	
}

Tower::Tower(Tower &T)
{
	m_nTopDiscSerialNum=T.m_nTopDiscSerialNum;
	m_nTotalDiscNum=T.m_nTotalDiscNum;
	m_nTowerSerialNum=T.m_nTowerSerialNum;
	
	m_pointCenter.x=T.m_pointCenter.x;
	m_pointCenter.y=T.m_pointCenter.y;

	m_sizeBase.cx=T.m_sizeBase.cx;
	m_sizeBase.cy=T.m_sizeBase.cy;

	m_sizePole.cx=T.m_sizePole.cx;
	m_sizePole.cy=T.m_sizePole.cy;

}


Tower::~Tower()
{

}

bool Tower::InitialTower(int TowerSerialNum, int TopDiscNum, int TotalDisc)
{
	//初始化位置属性
	m_nTowerSerialNum=TowerSerialNum;
	m_nTopDiscSerialNum=TopDiscNum;
	m_nTotalDiscNum=TotalDisc;
    
	//初始化形状属性
	m_pointCenter.x=TowerSerialNum*1320/3-880;
	m_pointCenter.y=0;

	m_sizeBase.cx=300;
	m_sizeBase.cy=30;

	m_sizePole.cx=10;
	m_sizePole.cy=480;

	return TRUE;
}


CRect Tower::GetBase()
{
	return CRect(m_pointCenter.x-m_sizeBase.cx/3,
	                m_pointCenter.y+m_sizeBase.cy,
					m_pointCenter.x+m_sizeBase.cx/3,
					m_pointCenter.y);
}




CRect Tower::GetPole()
{
	return CRect(m_pointCenter.x-m_sizePole.cx/4,
	                m_pointCenter.y+m_sizePole.cy,
					m_pointCenter.x+m_sizePole.cx/4,
					m_pointCenter.y);
}

⌨️ 快捷键说明

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