计算题实践心得体会及收获 计算实训心得体会(五篇)
当我们备受启迪时,常常可以将它们写成一篇心得体会,如此就可以提升我们写作能力了。心得体会对于我们是非常有帮助的,可是应该怎么写心得体会呢?以下是小编帮大家整理的心得体会范文,欢迎大家借鉴与参考,希望对大家有所帮助。
描写计算题实践心得体会及收获一
班级:
姓名:
学号:
>
本次实验的要求是通过自学vb语言编写一个两人对弈的象棋游戏,程序编写思路清晰且能运行。实验旨在让学生真正体会到开发一个完整程序的过程。进一步培养学生主动发现问题、认识问题、分析问题及解决问题的能力,提高自学能力和上机动手能力。
>
1.编程前的准备:网上查找一些合适的棋盘和棋子,再找一些相关的图片已备实验所需。网上下载一个单机象棋小游戏,熟悉游戏的界面以及游戏的规则 ,初步形成编程的流程图。网上查找一些用vb编好的象棋游戏的源代码作为参照,了解编程的过程和一些编程技巧。
2.编程时的注意事项:插入图片时要规范,所有棋子的大小以及位置都要一致,上下左右都要对齐,这样在写程序代码时处理数据更方便。棋子的位置在编写程序中很重要,所以处理图片时记录所有棋子的位置以备编写程序所需,且棋子的位置最好数据简单无小数点,这样误差更小,程序运行更不容易出错。开始编的时候功能不需太繁琐,先编成一个可以运行可以判输赢的初步程序,再继续加功能是可行的好办法,这样在检查程序出错的问题所在时更方便。
3.编程后的补充:认真对照实验要求的功能,分析出程序还未达到的功能,添加功能,形成一个符合要求的象棋游戏,完善程序。
>
象棋游戏主要是注重游戏规则,每个棋子有自己游戏规则,比如马走日字,相(象)走田字等,编程的重点也是约束各个棋子的下棋规则。本软件通过坐标形式来限制棋子的规则。坐标的确定方式是棋子离棋盘最上方和最左方的长度,即top和left来确定各个棋子的坐标,坐标形成一个二维数组,来规范各个棋子的行动范围。本软件设计的另一重点是判胜利方,有三个判定方法,一个就是黑方的将或红方的帅被吃,另一个是黑方除将外的子全被吃或红方除帅外的子全被吃,最后一个是利用时钟判定,哪方的累计思考时间超过规定的时间则判输。本软件一个可取之处是设计简单,容易理解,没有复杂的算法。通过直接的方式规定游戏规则,通过直接的方式判别优胜方,虽然处理数据的过程繁琐,但功能算齐全,程序运行时不容易出错。
功能模块:可以通过键盘或鼠标选中棋子,可以通过键盘或鼠标移动棋子。可以吃子,可以求和,可以弃权,可以重新游戏。
流程:按游戏中的开始,开始对局游戏,在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和棋为止。
工作原理:游戏的界面过程就类似与一张坐标纸,每个棋子就像坐标纸上相应的点,通过限制每个点的活动范围来构成每个棋子的游戏规则。游戏的执行过程类似于坐标的重新定位以及运算。
>
软件详细设计:1.将准备好的棋盘以image方式插入,将准备好的棋子以数组方式插入,数组从棋盘左上到棋盘右下方依次为0至89。初始化时要摆放旗子的位置以image方式插入相应棋子的图片,不需摆放棋子的位置也以image方式插入图片,插入的图片为空。这样这个棋盘上的各个位置棋子都可达。插入图片时,要注意各个图片在棋盘上的规范性,每张图片的height和width属性应该相同,且对应棋子的坐标要规范,top和left属性也要相对应。将棋盘上的位置处理完后,还要处理被吃棋子的位置,被吃棋子最多为双方都只剩下黑将和红帅。所以被吃棋子对多有30个,这30个图片定义为棋子的数组中,标号为90至119,这些图片也是以image方式插入图片,插入的图片为空。
2.插入时钟控制信号,黑方插入timer1,红方插入timer2。整个form1的界面设计完成。
3.开始form1的代码编写,开始棋子位置初始化,被吃棋子位置初始化,根据各个棋子的坐标来控制各个棋子的位置,时钟控制信号初始化。当点击游戏界面的菜单栏的开始时,也进行所有的初始化。
4.通过控制坐标规定各个棋子的游戏规则。将所有类型的棋子的坐标限制都列出来,通过语句来规范棋子的下棋规则。棋子的下棋规则规范后,再规定哪些子属于红方,哪些子属于黑方,当红方的子碰到黑方的子,或是黑方的子碰到红方的子则属于吃子,如果黑方碰到黑方或是红方碰到红方则不能走。
5.判定优胜方,在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和棋为止。判定优胜方有3种方法,一种就是黑方的将或红方的帅被吃,另一种是黑方除将外的子全被吃或红方除帅外的子全被吃,最后一种是利用时钟判定,哪方的累计思考时间超过规定的时间则判输。
6.象棋的基本功能完善后,对照试验的要求完善附加功能。
关键技术与难点:关键技术是通过二维数组完成整个程序的控制,棋子通过一维数组来控制每种棋子的下棋规则,通过时钟控制来作为另一种判优胜的条件。难点是设计擂台赛,自学vb的过程中,没有关注擂台赛的设计过程,所以设计擂台赛时不能想到一个可行的办法记录最高分。
测试数据:各个棋子由top和left构成的坐标,以及各个快捷键。
>
按run键或f2键开始游戏,由执红棋的一方先走。
选择棋子: 1.键盘操作:用方向键←、→、↓、↑移动光标,enter键选中棋子。
2.鼠标操作:移动鼠标,按鼠标左键,选中棋子。
移动棋子: 1.键盘操作:用方向键←、→、↓、↑移动光标,enter键选落子。空格键:放弃。
2.鼠标操作:鼠标左键按下时移动鼠标,放开鼠标左键击落子,右键放弃。
落子后,检测:如果不符合游戏走子规则,则重新操作。否则,棋子落定,并按游戏规则吃子。
>
这次的实习上课时间很少,上课学到的东西也少,可是课外学习的时间比较多,可能就是因为这个原因,所以同学之间的差距比较大。自觉的人很早就已经把实验完成了,不自觉的人硬是等到最后一周开始拼命编程,我觉得两者都有利弊,而我就属于折中的。我并没有开始就兴趣盎然地开始编,我这个人实践能力不是很强,经常实验前都会把书好好啃一遍,啃完觉得差不多才会开始编程,因为这样我就吃过不少苦头。就拿这次实验来说,象棋的编程思想并不复杂,只是数据处理很繁琐,我把书看过一遍后并没有立马就想出利用坐标top和left的属性来编写程序,这个想法是经别人提醒才恍然大悟的,所以我比别人晚很久才开始思路清晰起来,后面就等到最后一周才开始编,所以程序编得有些仓促,很多功能还不够完善,书上学得东西也没有用到实践当中,多浪费了时间在课本上,只剩下少许的时间来实践,编出来的程序可想而知毛病很多,比别人的程序也没有多大差别和优势,所以有点感觉就是输在了起跑线上。不过通过这次实习能认识到这一点我觉得还是难能可贵的,所以这实习最大的收获就是认识到实践比理论更重要,实践
计算题实践心得体会及收获 计算实训心得体会(五篇)
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


