返回
首页 > 实习报告
90 页 客服微信号: bylw8com 客服QQ:3346581880

  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.判定优胜方,在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和棋为止。判定优胜方有3种方法,一种就是黑方的将或红方的帅被吃,另一种是黑方除将外的子全被吃或红方除帅外的子全被吃,最后一种是利用时钟判定,哪方的累计思考时间超过规定的时间则判输。

首页 上一页 80 81 82 83 84 85 下一页 尾页

猜你喜欢

版权所有 Copyright©2006-2024 毕业论文网 版权所有

苏ICP备14005682号

联系邮箱:Lw54@vip.qq.com