C++编程题生态系统Word格式文档下载.docx

上传人:b****1 文档编号:3398118 上传时间:2023-05-01 格式:DOCX 页数:13 大小:199.06KB
下载 相关 举报
C++编程题生态系统Word格式文档下载.docx_第1页
第1页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第2页
第2页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第3页
第3页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第4页
第4页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第5页
第5页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第6页
第6页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第7页
第7页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第8页
第8页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第9页
第9页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第10页
第10页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第11页
第11页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第12页
第12页 / 共13页
C++编程题生态系统Word格式文档下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++编程题生态系统Word格式文档下载.docx

《C++编程题生态系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++编程题生态系统Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。

C++编程题生态系统Word格式文档下载.docx

华南师范大学教务处

一、 

题目

1、实验内容:

设计和开发一个简单的生态系统仿真软件

2、实验要求:

按照综合设计实验的格式要求撰写本实验的实验报告;

代码规范、注释简洁清晰;

独立完成代码的编写和调试以及实验报告的撰写;

二、中文摘要

在代码的基础上进行完善或者重写,修改完善各类生物物种的现有规则;

尝试着添加新的物种,并定义相应的规则;

通过不断的重构来完善系统的设计和实现,在改进中体会如何权衡各种因素,通过合理有效的面向对象设计和实现,带来代码复用、隔离变化、增加扩展性等方面的好处。

通过本次综合开发,加深对面向对象概念的理解,提高软件设计和开发能力,培养自学能力和刻苦钻研的精神,增强独立思考的习惯和勇于创新的魄力。

三、关键词

生态系统、仿真模型、物种、生存规则、代码复用

四、前言

在了解供参考的仿真模型后,阅读供参考的代码,然后在代码的基础上进行完善或者重写,通过不断的重构来完善系统的设计和实现,在改进中体会如何权衡各种因素,通过合理有效的面向对象设计和实现,带来代码复用、隔离变化、增加扩展性等方面的好处。

仿真模型和代码结构提倡按照自己的理解和能力进行自由发挥,使得仿真模型更合理、显示方式更直观、配置更方便、扩展更容易、可维护性更好。

五、软件的开发过程

1、添加物种:

(1)添加cpp文件,狮子的更新以及生存条件:

#include"

lion.h"

empty.h"

StateLionUnit:

:

getState()

{

returnLION;

}

nextState()

age++;

round();

if(sum[LION]>

TMLION)

{

returnEMPTY;

}

else

if(age>

DLION)

{

returnEMPTY;

}

else

returnLION;

}

voidLionUnit:

round()

world->

sums(pos,sum);

(2)添加头文件:

//lion.h

living.h"

classLionUnit:

publicLivingUnit

public:

LionUnit(World*w,intr,intc,inta=0):

age(a)

pos.row=r;

pos.colum=c;

world=w;

StategetState();

StatenextState();

voidround();

protected:

intage;

};

(3)狮子的世界类型:

voidWorld:

worldOfLion()

srand(unsigned(time(0)));

for(inti=2;

i<

N-2;

++i)

for(intj=2;

j<

++j)

intrandom1=1+(5-1)*rand()/(RAND_MAX+1.0);

switch(random1)

{

case1:

(*curMap)[i][j]=LION;

break;

case2:

(*curMap)[i][j]=FOX;

case3:

(*curMap)[i][j]=RABBIT;

default:

(*curMap)[i][j]=GRASS;

}

}

(4)枚举类型中添加const成员

(5)对狮子的输出控制

2、对其它物种的生存条件的修改

草:

StateGrassUnit:

nextState()

if(sum[GRASS]>

sum[RABBIT]||sum[EMPTY]>

0)

returnGRASS;

兔子:

StateRabbitUnit:

if(sum[FOX]>

sum[RABBIT]||sum[LION]>

sum[RABBIT]||sum[FOX]+sum[LION]>

sum[RABBIT])

}

else

if(++age>

DRAB)

{returnEMPTY;

}

{

returnRABBIT;

狐狸:

StateFoxUnit:

if(sum[LION]>

sum[FOX])

{returnEMPTY;

TMFOX)

DFOX)

returnFOX;

3、其它世界的布局

worldOfGrass()

intrandom1=1+(11-1)*rand()/(RAND_MAX+1.0);

case4:

case5:

case6:

}

4、对主函数的修改

//一个简单的生态仿真系统

#include<

iostream>

usingnamespacestd;

scene.h"

intmain()

intwo;

cout<

<

"

(1:

WORLD_OF_GRASS,2:

WORLD_OF_RABBIT,3:

WORLD_OF_FOX,4:

WORLD_OF_LION)"

endl<

请输入世界的编号:

;

cin>

>

wo;

switch(wo)

case1:

wo=WORLD_OF_GRASS;

case2:

wo=WORLD_OF_RABBIT;

case3:

wo=WORLD_OF_FOX;

default:

wo=WORLD_OF_LION;

Worldworld(wo);

Scenescene(world);

scene.run();

return1;

}六、系统测试情况

七、 

系统的优点与不足

优点:

能模拟不同类型世界的演变过程,且不会造成生态系统的崩溃。

可以选择不同的世界,随用户自由选择。

物种的生成可随机分配。

缺点:

模拟不同的世界类型不够仿真,动物无法自然老死。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2