实验38数码游戏的自动求解(1)

实验38数码游戏的自动求解(1)

ID:35342193

大小:58.04 KB

页数:6页

时间:2019-03-23

实验38数码游戏的自动求解(1)_第1页
实验38数码游戏的自动求解(1)_第2页
实验38数码游戏的自动求解(1)_第3页
实验38数码游戏的自动求解(1)_第4页
实验38数码游戏的自动求解(1)_第5页
资源描述:

《实验38数码游戏的自动求解(1)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验(实训)报告项目名称实验38数码游戏的自动求解所属课程名称算法分析与设计项目类型验证性实验(实训)日期2011228班级学号姓名指导教师一、实验(实训)概述:【实验目的】1.理解8数码游戏人工求解时采取的试探性策略。2.理解8数码游戏自动求解时采取的盲目搜索和启发式搜索策略。3.用程序和算法实现8数码游戏的人工求解和自动求解,掌握采用的技术和方法,理解自动求解时采用的搜索策略。【实验要求】1.根据实验项目要求编写程序或回答问题;2.所提交的程序都必须经过测试,验证是正确的;1.认真记录实验过程及结果,回答实验报告中的问题。【基本原理】详见

2、课堂教学课件(包括老师提供的、为帮助学生理解游戏程序界面而制作的课件)【实施环境】(使用的材料、设备、软件〉VisualC++6.0,MSDN注意:所有回答的内容用红色字体标明!!!二、实验(实训)内容:第1题一理解将控件关联到变量的另一种方法【项目内容】实验程序:阶段程序一8Puzzle1(控件布局〉【方案设计】无【实验(实训)过程】(步骤、记录、数据、程序等)阅读实验程序并回答问题。(1)理解程序,回答该程序是如何将表示当前状态的9个命令按钮关联到命令按钮数组m_curs中的9个元素,以及将表示目标状态的9个命令按钮关联到数组m_ends

3、中的6个元素。一回答:两个组框控件,标题分别“初始状态"和“目标状态";9个命令按钮,ID分别为IDC_BUTTON_CURO〜IDC_BUTTON_CUR89个命令按钮,ID分另U为IDC_BUTTON_ENDO~ID&BUTTON_END8在CMy8PuzzleDlg类中添加两个公有数廳成员,用于关联到9个拧前状态按钮和9个目标状态按钮。在CMy8PuzzleDlg类的DoDataExchange函数中添加代码,实现命令按钮与数据成员的关联。(2)借助MSDN,理解并回答」toa函数的功能及各参数的含义。回答:功能是把一整数转换为字符串,

4、该函数有三个参数,第一个参数是要转换的第二个参数是要写入转换结果的目标串,第三个参数是转移数字时所用的基数(3)请用自己的话描述该程序是如何设置表示当前状态和目标状态的18个命令按钮的标题文本的。回答:在对话框的属性中将对话框的字体设置为宋体14号,9个当前状态和9个目标状态的命令按钮均分别设为Button0~button8【结论】(结果、分析〉无O第2题一完成移动空格及判断游戏是否成功【项目内容】实验程序:阶段程序一8Puzzle2(游戏初步实现〉【方案设计】无【实验(实训)过程】(步骤、记录、数据、程序等)阅读实验程序并回答问题。(1)请

5、用自己的语言描述该阶段程序是如何实现将命令按钮中显示的数字字符字体格式更改为特殊的“华文彩云”字体。回答:在CMy8PuzzleDlg类中增加公有数据成员m_Fontm_Font.CreateFont(80,50,0,0,400,0,0,0,〃创建字体GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY5DEFAULT_PITCH

6、FF_DONTCARE,M华文彩云”);(2)该阶段程序为什么要响应表示当前状态的9个命令按钮的单击事件?回答:当用户点击命令按

7、钮时,需要判断能否移动空格,所以需要记录用户单击的是哪个命令按钮,因此响应9个命令按钮的单击事件。(3)请总结八数码游戏在什么条件下能移动某个数字,又是怎样移动的?回答:知道数字0所在位置m_curzero,就可以推断出所在行和列;知道单击按钮所在位置,就可以推斷出所在行和列;从而可以判断是否可以移动,以及如何移动。所谓的移动其实是单击按钮所在的按钮与数字0所在位置进行调换(4)请用自己的话总结该阶段程序是如何实现移动空格的。回答:将m_curclicked1等初始化为・1,并将“隐藏数字0所在的按钮''改为“将其标题设置为空"。利用sets

8、tate函数,交换第mcurclickedl个与0位置上的数字。【结论】(结果、分析〉O第3题一实现手动设置状态【项目内容】实验程序:阶段程序一8Puzzle3(手动设置状态〉【方案设计】无【实验(实训)过程】(步骤、记录、数据、程序等)(1)在VC6.0中对一组单选按钮(只能选中其中一个〉有何要求,又是如何实现的。回答:在属性那边把组钩上,实现方式:1)如果没有任何选项按钮选中,变量取值为・1;2)如果第1个按钮选中,变量取值为0;3)第2个按钮选中,变量取值为1;(2)请用自己的话总结该阶段程序是如何实现“在设置状态时,交换前后单击的两个

9、命令按钮上的数字”的。回答:交换即重新设置两个按钮上的数字【结论】(结果、分析〉O第4题一随机生成状态【项目内容】实验程序:阶段程序一8Puzzle4(随机生成状态

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。