• 大小: 38.07MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-07-17
  • 语言: C/C++
  • 标签: 狼吃羊  

资源简介

需求 该程序设计的是一个狼吃羊的小故事,大灰狼吃小绵羊 。所有大灰狼和小绵羊都在青青草原中生活。系统首先初始化大灰狼们和小绵羊们的基本信息。经过一段时间的自动运行。查看当前系统的基本情况。 1) 每个大灰狼和小绵羊都具有位置信息,性别、年龄等基本信息。 2) 大灰狼和小绵羊都有一定的生存规则,如运动规则,繁殖规则(年龄、性别),死亡规则(年龄),捕食规则(可以通过位置判定可以捕食,小绵羊可以逃跑)等。 3) 程序初始化时,需要初始化大灰狼和小绵羊的数量,随机生成每个生物的基本信息。并打印输出。 4) 通过键盘输入运行时间。 5) 程序根据运行时间运行,大灰狼和小绵羊按照自己的生存规则运行。 6) 程序需要输出生存期间的重要事件(如捕食、逃脱、繁殖等)。 7) 运行结束,输出当前青青草原中大灰狼和小绵羊的基本信息(数量,基本信息)。 2. 问题分析 本题的设计思路如下,建立生物基类,并派生出大灰狼、小绵羊的子类。根据需要建立类的成员函数和成员方法,其中包括捕食、死亡等多态方法。在main函数中采用数组和new动态生成用户需要生成的狼和羊的数量及基本信息。该题目主要涉及到的知识点有:继承、派生、多态。

资源截图

代码片段和文件信息

#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);//获得位图对象指针
CDC memDC;
memDC.CreateCompatibleDC(pdc); //创建内存兼容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(“打开文件错误“)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);
}


评论

共有 条评论