下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本科学生实验(实践)报告 院 系:计算机学院 实验课程:计算机基础实验 实验项目:简单生态系统仿真实验 指导老师:杨志强 开课时间:2012201220132013 年度第 2 2 学期 专 业:计算机科学与技术 班 级:1212 级 1 1 班 学 生:杨丹 学 号:2012210104220122101042 华南师范大学教务处 精品文档 一、 题目 1、实验内容: 设计和开发一个简单的生态系统仿真软件 2、实验要求: 按照综合设计实验的格式要求撰写本实验的实验报告; 代码规范、注释简洁清晰; 独立完成代码的编写和调试以及实验报告的撰写; 二、 中文摘要 在代码的基础上进行完善或者重写,
2、 修改完善各类生物物种的现有规则; 尝试着 添加新的物种,并定义相应的规则;通过不断的重构来完善系统的设计和实现, 在改进中体会如何权衡各种因素,通过合理有效的面向对象设计和实现, 带来代 码复用、隔离变化、增加扩展性等方面的好处。 通过本次综合开发,加深对面向对象概念的理解,提高软件设计和开发能力,培 养自学能力和刻苦钻研的精神,增强独立思考的习惯和勇于创新的魄力。 三、 关键词 生态系统、仿真模型、物种、生存规则、代码复用 四、 前言 在了解供参考的仿真模型后,阅读供参考的代码,然后在代码的基础上进行 完善或者重写,通过不断的重构来完善系统的设计和实现, 在改进中体会如何权 衡各种因素,通
3、过合理有效的面向对象设计和实现,带来代码复用、隔离变化、 增加扩展性等方面的好处。仿真模型和代码结构提倡按照自己的理解和能力进行 自由发挥,使得仿真模型更合理、显示方式更直观、配置更方便、扩展更容易、 可维护性更好。 精品文档 通过本次综合开发,加深对面向对象概念的理解,提高软件设计和开发能 力,培养自学能力和刻苦钻研的精神,增强独立思考的习惯和勇于创新的魄力。 五、软件的开发过程 1、添加物种:狼 (1)添加 cpp 文件,狮子的更新以及生存条件: #i nclude lio n.h #include empty.h State Lio nUn it:getState() return LI
4、ON; State Lio nUn it: nextState() age+; roun d(); if (sumLIONTMLION) return EMPTY; else if (ageDLION) return EMPTY; else return LION;精品文档 void LionUn it:ro un d() world-sums(pos,sum); (2) 添加头文件: /lio n.h #i nclude livi ng.h class LionUn it:public Livi ngUnit public: LionUnit(World* w,int r,int c,int
5、 a=0):age(a) pos.row=r; pos.colum=c; world=w; State getState(); State n extState(); 精品文档 void roun d(); protected: int age; ; (3) 狮子的世界类型: void World:worldOfLio n() srand(un sig ned(time(0); for (int i=2;iN-2;+i) for (i nt j=2;jN-2;+j) int random仁 1+(5-1)*ra nd()/(RAND_MAX + 1.0); switch(ra ndom1) c
6、ase 1:(*curMap)ij=LION;break; case 2:(*curMap)ij=FOX;break; case 3:(*curMap)ij=RABBIT;break; default:(*curM ap)ij=GRASS;break;精品文档 (4) 枚举类型中添加 const成员 enun StateiEMPTV.GRASS, RABBIT, FOK, LION, STATES; (5) 对狮子的输出控制 case U: CoutcOlor(F0RECROUN0_RED|FOREGR0UND_BLUE)sumRABBIT | sumEMPTY0) return GRASS;
7、 else return EMPTY; const int cons int cons int cons int cons int const iint const int DRAIB-3; DFOX=I|; DLinN=4; TMF0M=2; TMLION-2 CVCLES=5 N=UO; 4THP4THP狸子聚 寿寿寿狐狮步大 子狸孑多真界 轟狮太太 / / 精品文档 兔子:精品文档 State RabbitU ni t: nextState() roun d(); if (sumFOXsumRABBIT|sumLIONsumRABBIT|sumFOX+sumLIONsumRABBIT)
8、return EMPTY; else if (+ageDRAB) return EMPTY; else return RABBIT; 狐狸: State Fox Un it: nextState() age+; roun d(); if(sumLIONsumFOX) return EMPTY; else if (sumFOXTMFOX) return EMPTY; else if (ageDFOX) return EMPTY; else return FOX; 精品文档 3、其它世界的布局 草: void World:worldOfGrass() srand(un sig ned(time(0
9、); for (int i=2;iN-2;+i) for (i nt j=2;jsumRABBIT|sumLIONsumRABBIT|sumFOX+sumLIONsumRABBIT ) return EMPTY; else if (+ageDRAB) return EMPTY; else return RABBIT; 精品文档 狐狸: State Fox Un it: nextState() age+; roun d(); if(sumLIONsumFOX) return EMPTY; else if (sumFOXTMFOX) return EMPTY; else if (ageDFOX)
10、return EMPTY; else 精品文档 return FOX; 4、对主函数的修改 一个简单的生态仿真系统 #in elude using n amespace std; #in clude sce ne.h int mai n() int wo; cout (1 : WORLD_OF_GRASS , 2: WORLD_OF_RABBIT , 3: WORLD_OF_FOX , 4: WORLD_OF_LION ) endl wo; switch(wo) 精品文档 case 1:wo=WORLD_OF_GRASS;break; case 2:wo=WORLD_OF_RABBIT;bre
11、ak; case 3:wo=WORLD_OF_FOX;break; default:wo=WORLD_OF_LION;break; World world(wo); Scene sce ne(world); seen e.r un(); return 1; 六、系统测试情况精品文档 精品文档 七、 系统的优点与不足 优点:能模拟不同类型世界的演变过程, 且不会造成生态系统的崩溃。可以选择 不同的世界,随用户自由选择。物种的生成可随机分配。 WORLD_OF_ia ON a WOBLD_OF_FOJ( Press any key to continue 丽 p0 1 00 0 00 12 00
12、002 002 BQ2 00 0S I Clr WORLDOFGBftSS, 2: WORLD.OFJABBJT 馆输入世界的编号 4 M MU 0 I 121 0 0 1 0 0 0 234041 00 11021 2200 0 11 2 2 0 H02 R 0 0 022 U 0 11112114 022 I 0123 321341232 022 2S11113 I 22 7. 22 000旧 0 00 W&WA 12 102M01 2 L 0 B 0 ea 0 000 1:n 00 0 1 I 1000 000 0 0000 I 10000000 0 00L)00000000Q0
13、t1K 10 00000000 0 b”F0000 00000 00000(100000 思 0000(1(1000000 0000 RFI00000 00 22 I 2 22 2 2 221 22 ill P0 UM 22 2 I I A22 2 22 UM MM I 2 12 2 001 222 1112 001 1 2 00 2 2 2 M2 2 WH22 2 111 l.: D0 2 112222 002 1 11 12121 1 001 1 21 11 H0 2 2 22 2 00 2 I I MM 21212121 DM22 2 2J .2 01 21 2 00 -1 -11 1
14、HR 2 22 腼 2 2 2 7.7. 1 D0 2 21.12 12 2 M31 22 2 12 ll 2 l ! 2 41d4 4 1 4 22 222 Ll 1 I 11 22220S L24L1 12114 1421144200 I 41142144121243141200 114 421114 4212 W ? I 12 2 2 22 12 20R 2 L:l I 2 200 L1224 11 2 21 22103 42 41411 2 1 42 4 00 2 2 11 2 2 21 2200 1122 22122200 21 1J 2 1 1 MM 2 L 1 2i 222 1 2200 1 14111211 2 4 00 124221121221 2122442 00 11121442122131312212211:2M 2 221 1 1211 I 12LR 2 2 11 1 11 D0 i 2 2 &e I 00 11 妣 12 i 000 ess 00 02 10 841 22 0 2 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务英语综合教程课件 Unit 7 Business Cooperation
- 江西省吉安市十二校联盟2025-2026学年七年级上学期第二次阶段训练语文试题(含答案)(含解析)
- 2026及未来5年中国石膏线行业市场竞争态势及发展前景研判报告
- 2026年南充电影工业职业学院单招职业适应性测试题库附答案详解(基础题)
- 2026年内蒙古建筑职业技术学院单招职业适应性考试题库附答案详解(轻巧夺冠)
- 2026年华东政法大学单招职业适应性考试题库附答案详解(能力提升)
- 2026年伊犁职业技术学院单招职业倾向性考试题库附答案详解(夺分金卷)
- 2026年北京社会管理职业学院单招职业技能测试题库含答案详解(综合卷)
- 2026年南充文化旅游职业学院单招职业适应性测试题库附参考答案详解(达标题)
- 2026年兰州石化职业技术学院单招职业倾向性考试题库及答案详解(夺冠)
- 电商客服服务流程与话术手册
- Python深度学习入门(从零构建CNN和RNN)
- 小学信息科技课堂中人工智能教育实践研究教学研究课题报告
- (2025)继发性高血压筛查和诊断中国专家共识解读课件
- 慢性病患者医患沟通策略
- 老年人皮肤瘙痒的护理
- 饮用水深度处理技术研究
- 麻绳手工创意课件
- 病房急危重症患者抢救流程
- 非遗宋锦课件
- 2023年云南省中考数学真题(原卷版)
评论
0/150
提交评论