




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机实习报告姓名: 班级: 学号: 系部: 专业方向: 指导老师 : 电子科技学院 2006年9月18一: 选题需求分析 题目要求:设计一个图形工作方式下的10*10黑白棋棋盘,模仿两个棋手对弈的过程,并报告最终输赢结果。题目分析:设计黑白棋为人机对弈,人执白旗,计算机执黑棋,轮流走棋,人所执白棋落定后,计算机(执黑棋)选择最优摆子点摆子,每方都试图在游戏结束前让自己棋子的数目多于对方,棋子多者胜。据选题要求将棋盘设计为10*10格,初始状态在棋盘中央交叉排放黑白旗各两枚,为统计棋子个数,有一个棋子记一分,人执白棋,计算机执黑棋,且白棋先走。下棋时,棋子的位置必须是以自己的棋子能包围住对手一个或多个棋子,被包围的对手棋子将变成自己的棋子。包围的方向可以使上下左右斜线共8个方向,只要能连成一条线即可。当一方摆子,但没有可以包围对手棋子的位置时,该方必须听步,通过放弃一子让对手走棋,直到该方可以走子为止。当棋盘上有一方的棋子为0(也就是被对方吃完)或下满100格,游戏结束,旗子少者输。二:程序设计 1:设计思路从程序界面,考虑此为一个二维平面图,所以可以用数组形式表示棋盘上的位置。则该程序接收到棋手按键操作,既棋手放子,就判定是不是有效位置,也就是能不能包围住对方棋子,如果能,便对棋子所在的位置往上下,左右,左上,左下,右上,右下8个方向寻找被包围住的所有棋子(必须是连续的,中间不能有空格),将这些被包围住的对手棋子都变成自己的棋子。当白棋落定后,计算机(执黑棋)选择最优摆子点摆子并吃掉白子即将其变为黑子。如果没有这样的位置可以落子,则停步,让对方走棋,重复上述步骤,直到游戏结束。然后对当前棋盘中的黑白棋个数进行统计并输出结果。如果想提前终止游戏,可以提前按退出。2.设计流程图 3.设计流程及测试结果 (1) 定义变量 定义使用到的常数、全局变量等。如游戏的时间、状态、黑白棋子的个数等。(2) Form_Load()设置游戏的初始界面 首先设置窗口的位置,检测程序是否正在运行以防止多次打开程序。再设置后退按键不可按,放弃一子键不可按,且黑白英雄榜不可见。最后调用drawnewqp 画棋盘表格。即可得到游戏初始界面如下所示: 在游戏一栏中包含开始游戏、载入游戏、保存游戏、退出及黑白棋英雄榜几个按钮。在帮助一栏中有游戏规则及关于按钮。(3)drawnewqp()画棋盘表格 设置棋盘的可用的区域,剩余区域用于显示时间、坐标、黑白棋计数显示、提示棋手所执棋子为白色以及工具栏(包括游戏开始、载入、推出、放弃棋子、后退和游戏规则等)。然后画10*10的表格线,再设置线条宽度等。如上图所示。(4)窗体的设置 窗体的设置中包含了游戏窗体以及黑白英雄榜中各个按钮控件的设置在属性窗口中可设置它们的属性。设计出的窗体如下图所示: (4)开始新游戏() 在窗口工具栏的游戏中按下开始游戏键,游戏开始,此时在棋盘中央交叉处已排放黑白棋子各两枚,则显示白棋先有2子及黑棋现有2子且可以计数,时间开始计时,坐标值随鼠标移动而改变,放弃一子键可按。该函数在调用时都将清空棋盘以及将游戏时间清零,这样在按下开始游戏键后游戏自动进入新一局。开始时的界面如下所示: (5)放子() 1首先判断是否可以放子:从上下、左右、左上、左下、右上、右下8个方向判断是否可以放子。放置棋子的位置必须是以自己的棋子能包围住对手一个或多个棋子,包围的方向可以使上下左右斜线共8个方向,只要能连成一条线即可满足要求。若放子位置有棋则无效。 2调用qp_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)用于提示棋手鼠标所在处是否可以放子,如果鼠标所在区域可以放子,则鼠标为“十字”图标,否则为“禁止”图标。3若有多处可以放子,则可选最优位置放子;如若整个棋盘有空格但不符合放子要求,即无棋可走,则需放弃此步,让对方下棋。(6)翻转棋子() 当一方棋子落定后,就要分别往8个方向判断是否包围住对方棋子,如果是,则改变棋子颜色,也就是棋盘上黑白棋子的个数要发生变化。i代表行,j代表列,对于10*10的棋盘,它们的值为0-9,如果j若黑棋与白棋个数相同,则为平局,则会显示如下窗口,提示该局为平局,且会提示你是否再来一局,按下是,则开始新游戏;按下否,则结束游戏,所有窗口关闭。 3若白棋多于黑棋棋子数,则棋手赢。此时将调用mn英雄榜_Click(),如果棋手成绩能够上榜,即能进入前三名,则会出现如下界面,时间停止计时,游戏键及放弃一子键不可按,界面也将提示你输入姓名,刷新界面且列出你的名次: 而若不能够进入前三名,但白棋多于黑棋数,则会出现以下界面,显示你的用时,且提示棋手胜利并问你是否再来一局。 三:调试分析 本次实验用Visual Basic 程序设计语言进行编译,在实验过程中遇到的问题如下: 1:需要设计10*10格的棋盘,但棋盘设计时得到11个棋格? 答:界面在显示坐标时是由(1,1)到(10,10),但由于考虑界面为二维平面图,所以用数组形式表示棋盘上的位置,则数组下标应由(0,0)开始到(9,9)结束才能得到10*10的棋盘表格。 2:在设置窗体中的控件时,控件不可移? 答:设置控件位置时可以在属性窗口中修改,也可直接将其移动到所需位置。出现控件不可移时可查看工具栏中格式选项中的锁定控件是否被锁定,若被锁定,解除锁定即可。 3:打开界面直接运行时,窗体显示的棋盘棋格数不标准,只有在点击工程窗体后,再启动,才能得到正常10*10棋盘表格? 答:这应属于窗口属性问题。10*10棋盘在改变原窗体大小后得到,而原窗体不能适应改变后的大小,导致直接运行时窗口属性不正确。重设原窗体属性大小使之适应现行窗口大小即可。但在本次试验中,未能找到对原窗体属性进行设置的属性栏,所以未能将其改正。 该程序是用于人机对弈,计算机依据所设优先级别选择有限级别最高的位置放子,所以当人了解这一规律即可赢过计算机。且该程序不分难度,所以可改进该程序,设置难度级别,已过级形式或棋手自选难度级别形式出现会提高游戏趣味性。而难度级别的设置可通过两种方法实现:(1)通过改变计算机优先级别的设置来降低难度;(2)通过先定下子的位置来提高难度。或者限制后退键的使用次数来提高难度。四:使用说明 本次实习是使用面向对象设计环境,用面向对象的程序设计语言Visual Basic 制作的黑白棋小游戏,实现人机对弈。 具体操作为:按下启动键运行程序,则会出现游戏初始界面,在工具栏的游戏选项中点击开始游戏,此时棋盘界面中央交叉处已有黑白棋各两个,且开始计时,这样即可开始与计算机下棋。下棋过程中允许放弃一子或后退。帮助选项中有游戏规则可供棋手参考。若想结束游戏,可以在游戏选项中选择退出从而结束游戏。在一局结束后,会显示棋手成绩并提示棋手是否再来一盘,再依据棋手选择情况结束游戏或者开始新一局。五:实习总结 本次计算机实习主要是通过对所给选题进行设计来提高编程能力。选题由老师给定。由于选题难度较高,所以参考资料以帮助完成实验。本次选题要求设计一个10*10的黑白棋游戏,由于需要在图形工作方式下进行,所以选用VB语言进行编译。由于以前未使用过VB语言,所以使用时由很多不明了的地方。但通过查阅书籍对VB语言有了一定的了解:用VB 编程时,首先创建项目,然后设计界面,在此可添加需要的按钮控件,在属性窗口中可以设置其属性,最后就是添加代码,在代码窗口可以添加窗体、按钮等的代码。在这些工作完成后即可运行程序,如果出错,计算机将提示编译有错,且在出错语句标识为黄色,则在工具栏中点击调试选项中的逐句调试或逐过程调试,再出错语句处按下F1,则计算机将提示你为何出错,帮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 想要抱抱的小猪教学课件
- 河南省淮阳县第一高级中学2026届化学高一上期中检测试题含解析
- 悯农课件锄禾
- 2026届赣湘粤三省六校化学高二第一学期期中考试试题含解析
- 上海市二中学2026届高三化学第一学期期末教学质量检测模拟试题含解析
- 夜饭营销策划方案
- 乡镇农业工作个人工作方案
- 吉他乐理初级试题及答案
- 安阳政治试题及答案
- 粮食收购面试题及答案
- 2025上海市八年级升九年级数学暑假提升讲义:相似三角形压轴题(六大题型)原卷版
- 2025年工业互联网工程技术人员考核试题题库及答案
- 供货组织方案范文
- 农行OCRM系统讲解
- 2025年《药品经营和使用质量监督管理办法》培训试题及答案
- 2024年云南省县乡教师选调考试《教育学》真题汇编带解析(原创题)
- 工贸安全员考试题库及答案大全
- 羊肚菌栽培及其管理课件
- 教师身体健康管理指南
- 2025高空作业考试试题及答案(完整版)
- 出租车车辆GPS定位承包合同范本
评论
0/150
提交评论