GridWorld实训总结报告

实训总结报告

中级实训告一段落,这次实训我的心得总结如下:

第一阶段

第一阶段我们的任务有

  • 个人任务:Vi,Java,Ant和Junit的自学报告
  • 个人任务:熟悉JAVA、Ant、Junit环境
  • 个人任务:编写Java小程序
  • 个人任务:学习并配置SonarQube
  • 个人任务:编译运行BugRunner

首先是Vi,我熟悉了Linux环境下的命令行的使用方法;然后是Ant,我学会了使用Ant进行对.java文件的自动编译;Junit则是帮助我测试函数正确与否的工具;在初步熟悉了Java语言的使用之后,SonarQube则能将我写的程序的潜在bug、重复代码等数据直观地显示出来。

第二阶段

第二阶段是在GridWorld中进行的,先是学会用代码去控制GridWorld中生物的一些行为,如行动模式、个体与其他个体的交互。在第二阶段的最后还学习了自己构造新的网格。

第三阶段

第三部分则与GirdWorld关联不大,共完成了ImageReader、Mazebug、Jigsaw三部分内容。

ImageReader:

实验要求
1.利用二进制流读取bitmap位图文件。注意,这里要求不能使用java提供的api直接读取图像,根据二进制数据创建image时可以使用api;

2.把读取彩色图像转换成灰度图像;
3.提取并且显示彩色图像各个色彩通道;
4.把处理完的图像保存为bmp格式图像。注意,这里可以使用java提供的api完成,但本文档不提供,希望各位同学自行上网查找资料自学。如果学有余力的同学,可以实现按照二进制流输出保存bmp图像;
5.编写junit测试程序,测试输出的图片是否与goal文件夹下的图片一致。(比较位图宽度、位图高度以及像素值);

就是说我们要实现一个关于图片读取的软件,且要求不能直接使用 JAVA 自带的API进行读取。除了一个Runner ,我们需要实现两个接口 IImageIO 和 IImageProcessor。

MazeBug

第二部分是关于迷宫的问题,就是利用DFS找到迷宫的正确路径。做这道题需要标记地图上哪些位置走过哪些没走过。由于Bug走的时候会在身后留下一朵花,因此有个小窍门就是有花的地方我们就不再找。

Jigsaw

第三部分是要我们利用广搜和启发式搜索来实现拼图问题,代码看起来多,但其实很多都是源码就已经给出的了。我们需要完成的只是一个关于BFSearch的小任务和一个估价函数。估价函数的实现其实就是要我们找到合适的估价方法和它们的权重。

你可能感兴趣的:(GridWorld实训总结报告)