資源簡介
需求
該程序設(shè)計(jì)的是一個(gè)狼吃羊的小故事,大灰狼吃小綿羊 。所有大灰狼和小綿羊都在青青草原中生活。系統(tǒng)首先初始化大灰狼們和小綿羊們的基本信息。經(jīng)過一段時(shí)間的自動(dòng)運(yùn)行。查看當(dāng)前系統(tǒng)的基本情況。
1) 每個(gè)大灰狼和小綿羊都具有位置信息,性別、年齡等基本信息。
2) 大灰狼和小綿羊都有一定的生存規(guī)則,如運(yùn)動(dòng)規(guī)則,繁殖規(guī)則(年齡、性別),死亡規(guī)則(年齡),捕食規(guī)則(可以通過位置判定可以捕食,小綿羊可以逃跑)等。
3) 程序初始化時(shí),需要初始化大灰狼和小綿羊的數(shù)量,隨機(jī)生成每個(gè)生物的基本信息。并打印輸出。
4) 通過鍵盤輸入運(yùn)行時(shí)間。
5) 程序根據(jù)運(yùn)行時(shí)間運(yùn)行,大灰狼和小綿羊按照自己的生存規(guī)則運(yùn)行。
6) 程序需要輸出生存期間的重要事件(如捕食、逃脫、繁殖等)。
7) 運(yùn)行結(jié)束,輸出當(dāng)前青青草原中大灰狼和小綿羊的基本信息(數(shù)量,基本信息)。
2. 問題分析
本題的設(shè)計(jì)思路如下,建立生物基類,并派生出大灰狼、小綿羊的子類。根據(jù)需要建立類的成員函數(shù)和成員方法,其中包括捕食、死亡等多態(tài)方法。在main函數(shù)中采用數(shù)組和new動(dòng)態(tài)生成用戶需要生成的狼和羊的數(shù)量及基本信息。該題目主要涉及到的知識(shí)點(diǎn)有:繼承、派生、多態(tài)。
代碼片段和文件信息
#include?“stdafx.h“
#include?“Animal.h“
CAnimal::CAnimal()
{
m_CPPoint?=?cvPoint(12020);
}
CAnimal::~CAnimal()
{
}
void?CAnimal::Draw(CDC?*?pdc)
{
HBITMAP?h;
h?=?(HBITMAP)LoadImage(NULL
m_picString
IMAGE_BITMAP
0?0
LR_LOADFROMFILE);
CBitmap?*?tempimg?=?CBitmap::FromHandle(h);//獲得位圖對(duì)象指針
CDC?memDC;
memDC.CreateCompatibleDC(pdc); //創(chuàng)建內(nèi)存兼容DC
CBitmap*?pOldBitmap?=?memDC.Selectobject(tempimg);
BITMAP?bm;
tempimg->Getobject(sizeof(BITMAP)?&bm);//獲得位圖的大小
CRect?rect;
rect.left?=?12?+?m_CPPoint.x;
rect.top?=?199;????????
rect.right?=?rect.left?+?bm.bmWidth?+?12;
rect.bottom?=?rect.top?+?m_CPPoint.y;
//透明貼圖
TransparentBlt(*pdc?m_CPPoint.x?m_CPPoint.y
bm.bmWidth?bm.bmHeight?memDC?0?0?bm.bmWidth?bm.bmHeight
RGB(255?255?255));
? pdc->SetBkMode(TRANSPARENT);
? memDC.Selectobject(pOldBitmap);
Deleteobject(memDC);
Deleteobject(h);
}
void?CAnimal::Run(CDC?*?pdc)
{
Draw(pdc);
}
bool?CAnimal::Breed()
{
return?true;
}
void?CAnimal::SaveMsg(?FILE?*os?)
{
if?(os?==?NULL)
{
AfxMessageBox(_T(“打開文件錯(cuò)誤“)0);
return?;
}
/*char*?str?=?new?char[15];*/
/*sprintf_s(str15“NowAge?:?%d\n“m_nNowAge);*/
fprintf_s(os“NowAge?????:?%d\n“m_nNowAge);
fprintf_s(os“DieAge?????:?%d\n“m_nDieAge);
fprintf_s(os“Sex????????:?%d\n“m_nSex);
fprintf_s(os“WeddingAge?:?%d\n\n“m_nBreed);
fclose(os);
}
評(píng)論
共有 條評(píng)論