- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机认识实习实验报告(范文)
第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页
计算机认识实习实验报告
专业:计算机科学与技术
班级:
姓名:
学号:
计算机工程与科学学院
报告日期 年 月 日
1.实验目的和要求:
本次实验的要求是通过自学VB语言编写一个两人对弈的象棋游戏,程序编写思路清晰且能运行。实验旨在让学生真正体会到开发一个完整程序的过程。进一步培养学生主动发现问题、认识问题、分析问题及解决问题的能力,提高自学能力和上机动手能力。
2.实验内容:
1.编程前的准备:网上查找一些合适的棋盘和棋子,再找一些相关的图片已备实验所需。网上下载一个单机象棋小游戏,熟悉游戏的界面以及游戏的规则 ,初步形成编程的流程图。网上查找一些用VB编好的象棋游戏的源代码作为参照,了解编程的过程和一些编程技巧。
2.编程时的注意事项:插入图片时要规范,所有棋子的大小以及位置都要一致,上下左右都要对齐,这样在写程序代码时处理数据更方便。棋子的位置在编写程序中很重要,所以处理图片时记录所有棋子的位置以备编写程序所需,且棋子的位置最好数据简单无小数点,这样误差更小,程序运行更不容易出错。开始编的时候功能不需太繁琐,先编成一个可以运行可以判输赢的初步程序,再继续加功能是可行的好办法,这样在检查程序出错的问题所在时更方便。
3.编程后的补充:认真对照实验要求的功能,分析出程序还未达到的功能,添加功能,形成一个符合要求的象棋游戏,完善程序。
3.软件概要设计说明,功能模块及流程和工作原理:
象棋游戏主要是注重游戏规则,每个棋子有自己游戏规则,比如马走日字,相(象)走田字等,编程的重点也是约束各个棋子的下棋规则。本软件通过坐标形式来限制棋子的规则。坐标的确定方式是棋子离棋盘最上方和最左方的长度,即top和left来确定各个棋子的坐标,坐标形成一个二维数组,来规范各个棋子的行动范围。本软件设计的另一重点是判胜利方,有三个判定方法,一个就是黑方的将或红方的帅被吃,另一个是黑方除将外的子全被吃或红方除帅外的子全被吃,最后一个是利用时钟判定,哪方的累计思考时间超过规定的时间则判输。本软件一个可取之处是设计简单,容易理解,没有复杂的算法。通过直接的方式规定游戏规则,通过直接的方式判别优胜方,虽然处理数据的过程繁琐,但功能算齐全,程序运行时不容易出错。
功能模块:可以通过键盘或鼠标选中棋子,可以通过键盘或鼠标移动棋子。可以吃子,可以求和,可以弃权,可以重新游戏。
流程:按游戏中的开始,开始对局游戏,在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和棋为止。
工作原理:游戏的界面过程就类似与一张坐标纸,每个棋子就像坐标纸上相应的点,通过限制每个点的活动范围来构成每个棋子的游戏规则。游戏的执行过程类似于坐标的重新定位以及运算。
4.软件详细设计、关键技术与难点、测试数据
软件详细设计:1.将准备好的棋盘以image方式插入,将准备好的棋子以数组方式插入,数组从棋盘左上到棋盘右下方依次为0至89。初始化时要摆放旗子的位置以image方式插入相应棋子的图片,不需摆放棋子的位置也以image方式插入图片,插入的图片为空。这样这个棋盘上的各个位置棋子都可达。插入图片时,要注意各个图片在棋盘上的规范性,每张图片的height和width属性应该相同,且对应棋子的坐标要规范,top和left属性也要相对应。将棋盘上的位置处理完后,还要处理被吃棋子的位置,被吃棋子最多为双方都只剩下黑将和红帅。所以被吃棋子对多有30个,这30个图片定义为棋子的数组中,标号为90至119,这些图片也是以image方式插入图片,插入的图片为空。
2.插入时钟控制信号,黑方插入Timer1,红方插入Timer2。整个Form1的界面设计完成。
3.开始Form1的代码编写,开始棋子位置初始化,被吃棋子位置初始化,根据各个棋子的坐标来控制各个棋子的位置,时钟控制信号初始化。当点击游戏界面的菜单栏的开始时,也进行所有的初始化。
4.通过控制坐标规定各个棋子的游戏规则。将所有类型的棋子的坐标限制都列出来,通过语句来规范棋子的下棋规则。棋子的下棋规则规范后,再规定哪些子属于红方,哪些子属于黑方,当红方的子碰到黑方的子,或是黑方的子碰到红方的子则属于吃子,如果黑方碰到黑方或是红方碰到红方则不能走。
5.判定优胜方,在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和棋为止
原创力文档


文档评论(0)