C++编程题:生态系统

上传人:re****.1 文档编号:464590978 上传时间:2023-09-15 格式:DOC 页数:15 大小:245.50KB
返回 下载 相关 举报
C++编程题:生态系统_第1页
第1页 / 共15页
C++编程题:生态系统_第2页
第2页 / 共15页
C++编程题:生态系统_第3页
第3页 / 共15页
C++编程题:生态系统_第4页
第4页 / 共15页
C++编程题:生态系统_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C++编程题:生态系统》由会员分享,可在线阅读,更多相关《C++编程题:生态系统(15页珍藏版)》请在金锄头文库上搜索。

1、 院 系:计 算 机 学 院实验课程:计算机基础实验实验项目:简单生态系统仿真实验指导老师:杨志强 开课时间:2012 2013年度第 2学期专 业:计算机科学与技术班 级:12级 1 班学 生:杨丹学 号:20122101042华南师范大学教务处一、题目1、实验内容:设计和开发一个简单的生态系统仿真软件2、实验要求:按照综合设计实验的格式要求撰写本实验的实验报告;代码规范、注释简洁清晰;独立完成代码的编写和调试以及实验报告的撰写;二、中文摘要在代码的基础上进行完善或者重写,修改完善各类生物物种的现有规则;尝试着添加新的物种,并定义相应的规则;通过不断的重构来完善系统的设计和实现,在改进中体会

2、如何权衡各种因素,通过合理有效的面向对象设计和实现,带来代码复用、隔离变化、增加扩展性等方面的好处。通过本次综合开发,加深对面向对象概念的理解,提高软件设计和开发能力,培养自学能力和刻苦钻研的精神,增强独立思考的习惯和勇于创新的魄力。三、关键词生态系统、仿真模型、物种、生存规则、代码复用四、前言在了解供参考的仿真模型后,阅读供参考的代码,然后在代码的基础上进行完善或者重写,通过不断的重构来完善系统的设计和实现,在改进中体会如何权衡各种因素,通过合理有效的面向对象设计和实现,带来代码复用、隔离变化、增加扩展性等方面的好处。仿真模型和代码结构提倡按照自己的理解和能力进行自由发挥,使得仿真模型更合理

3、、显示方式更直观、配置更方便、扩展更容易、可维护性更好。通过本次综合开发,加深对面向对象概念的理解,提高软件设计和开发能力,培养自学能力和刻苦钻研的精神,增强独立思考的习惯和勇于创新的魄力。五、软件的开发过程1、添加物种:狼(1)添加cpp文件, 狮子的更新以及生存条件: #include lion.h#include empty.hState LionUnit:getState()return LION;State LionUnit:nextState()age+;round();if (sumLIONTMLION)return EMPTY;elseif (ageDLION)return E

4、MPTY; elsereturn LION;void LionUnit:round()world-sums(pos,sum);(2)添加头文件:/lion.h#include living.hclass LionUnit:public LivingUnitpublic:LionUnit(World* w,int r,int c,int a=0):age(a)pos.row=r;pos.colum=c;world=w;State getState();State nextState();void round(); protected:int age;(3)狮子的世界类型:void World:w

5、orldOfLion()srand(unsigned(time(0);for (int i=2;iN-2;+i)for (int j=2;jsumRABBIT | sumEMPTY0)return GRASS;elsereturn EMPTY;兔子:State RabbitUnit:nextState()round();if (sumFOXsumRABBIT|sumLIONsumRABBIT|sumFOX+sumLIONsumRABBIT)return EMPTY; else if (+ageDRAB)return EMPTY; elsereturn RABBIT;狐狸:State FoxUn

6、it:nextState()age+;round();if(sumLIONsumFOX)return EMPTY;else if (sumFOXTMFOX) return EMPTY; else if (ageDFOX)return EMPTY; elsereturn FOX; 3、其它世界的布局草:void World:worldOfGrass()srand(unsigned(time(0);for (int i=2;iN-2;+i)for (int j=2;jsumRABBIT|sumLIONsumRABBIT|sumFOX+sumLIONsumRABBIT)return EMPTY; e

7、lse if (+ageDRAB)return EMPTY; elsereturn RABBIT;狐狸:State FoxUnit:nextState()age+;round();if(sumLIONsumFOX)return EMPTY;else if (sumFOXTMFOX) return EMPTY; else if (ageDFOX)return EMPTY; elsereturn FOX; 4、对主函数的修改/一个简单的生态仿真系统#include using namespace std;#include scene.hint main()int wo;cout(1:WORLD_O

8、F_GRASS,2:WORLD_OF_RABBIT,3:WORLD_OF_FOX,4:WORLD_OF_LION)endlwo;switch(wo) case 1:wo=WORLD_OF_GRASS;break; case 2:wo=WORLD_OF_RABBIT;break; case 3:wo=WORLD_OF_FOX;break; default:wo=WORLD_OF_LION;break;World world(wo);Scene scene(world);scene.run();return 1;六、系统测试情况 七、系统的优点与不足优点:能模拟不同类型世界的演变过程,且不会造成生态系统的崩溃。可以选择不同的世界,随用户自由选择。物种的生成可随机分配。缺点:模拟不同的世界类型不够仿真, 动物无法自然老死。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号