C++编程题生态系统.docx

上传人:b****5 文档编号:5570496 上传时间:2022-12-27 格式:DOCX 页数:11 大小:199.11KB
下载 相关 举报
C++编程题生态系统.docx_第1页
第1页 / 共11页
C++编程题生态系统.docx_第2页
第2页 / 共11页
C++编程题生态系统.docx_第3页
第3页 / 共11页
C++编程题生态系统.docx_第4页
第4页 / 共11页
C++编程题生态系统.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C++编程题生态系统.docx

《C++编程题生态系统.docx》由会员分享,可在线阅读,更多相关《C++编程题生态系统.docx(11页珍藏版)》请在冰豆网上搜索。

C++编程题生态系统.docx

C++编程题生态系统

 

院系:

计算机学院

 

实验课程:

计算机基础实验

实验项目:

简单生态系统仿真实验

指导老师:

杨志强

开课时间:

2012~2013年度第2学期

专业:

计算机科学与技术

班级:

12级1班

学生:

杨丹

学号:

20122101042

 

华南师范大学教务处

一、 题目

1、实验内容:

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

2、实验要求:

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

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

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

二、中文摘要

在代码的基础上进行完善或者重写,修改完善各类生物物种的现有规则;尝试着添加新的物种,并定义相应的规则;通过不断的重构来完善系统的设计和实现,在改进中体会如何权衡各种因素,通过合理有效的面向对象设计和实现,带来代码复用、隔离变化、增加扩展性等方面的好处。

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

三、关键词

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

四、前言

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

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

 

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

五、软件的开发过程

1、添加物种:

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

#include"lion.h"

#include"empty.h"

StateLionUnit:

:

getState()

{

returnLION;

}

StateLionUnit:

:

nextState()

{

age++;

round();

if(sum[LION]>TMLION)

{

returnEMPTY;

}

else

{

if(age>DLION)

{

returnEMPTY;

}

else

{

returnLION;

}

}

}

 

voidLionUnit:

:

round()

{

world->sums(pos,sum);

}

(2)添加头文件:

 

//lion.h

#include"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

for(intj=2;j

{

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

switch(random1)

{

case1:

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

case2:

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

case3:

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

default:

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

}

}

}

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

(5)对狮子的输出控制

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

草:

StateGrassUnit:

:

nextState()

{

round();

if(sum[GRASS]>sum[RABBIT]||sum[EMPTY]>0)

{

returnGRASS;

}

else

{

returnEMPTY;

}

}

兔子:

StateRabbitUnit:

:

nextState()

{

round();

if(sum[FOX]>sum[RABBIT]||sum[LION]>sum[RABBIT]||sum[FOX]+sum[LION]>sum[RABBIT])

{

returnEMPTY;

}

else

{

if(++age>DRAB)

{returnEMPTY;}

else

{

returnRABBIT;

}

}

}

狐狸:

StateFoxUnit:

:

nextState()

{

age++;

round();

if(sum[LION]>sum[FOX])

{returnEMPTY;}

else

{

if(sum[FOX]>TMFOX)

{

returnEMPTY;

}

else

{

if(age>DFOX)

{

returnEMPTY;

}

else

{

returnFOX;

}

}

}

}

3、其它世界的布局

草:

voidWorld:

:

worldOfGrass()

{

srand(unsigned(time(0)));

for(inti=2;i

for(intj=2;j

{

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

switch(random1)

{

case1:

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

case2:

case3:

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

case4:

case5:

case6:

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

default:

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

}

}

}

兔子:

StateRabbitUnit:

:

nextState()

{

round();

if(sum[FOX]>sum[RABBIT]||sum[LION]>sum[RABBIT]||sum[FOX]+sum[LION]>sum[RABBIT])

{

returnEMPTY;

}

else

{

if(++age>DRAB)

{returnEMPTY;}

else

{

returnRABBIT;

}

}

}

狐狸:

StateFoxUnit:

:

nextState()

{

age++;

round();

if(sum[LION]>sum[FOX])

{returnEMPTY;}

else

{

if(sum[FOX]>TMFOX)

{

returnEMPTY;

}

else

{

if(age>DFOX)

{

returnEMPTY;

}

else

{

returnFOX;

}

}

}

}

4、对主函数的修改

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

#include

usingnamespacestd;

#include"scene.h"

intmain()

{

intwo;

cout<<"(1:

WORLD_OF_GRASS,2:

WORLD_OF_RABBIT,3:

WORLD_OF_FOX,4:

WORLD_OF_LION)"<

";

cin>>wo;

switch(wo)

{

case1:

wo=WORLD_OF_GRASS;break;

case2:

wo=WORLD_OF_RABBIT;break;

case3:

wo=WORLD_OF_FOX;break;

default:

wo=WORLD_OF_LION;break;

}

Worldworld(wo);

Scenescene(world);

scene.run();

return1;

}六、系统测试情况

七、 系统的优点与不足

优点:

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

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

物种的生成可随机分配。

缺点:

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

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

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1