课程设计题目贪吃蛇(四星) 河南理工大学计算机科学与技术学院 vb程序设计 20 11— 20 12 学年第二学期日期 2012 年2日 20日-24 日学生姓名陈*学号 3********** 专业班级信息管理与信息系统 10级指导教师罗军伟一、功能“贪吃蛇”是一种很流行的电子游戏。游戏方法如下:一条蛇在棋盘上爬行,由键盘控制其转弯; 棋盘上随机地出现 5 个数字( 1~5) ,当蛇的头部碰到数字时(吃数字) ,蛇的身体会变长。当蛇的头部撞到障碍时或碰到自己身体时, 游戏结束, 如果蛇头撞到边界时会从另一边钻出。游戏结束时, 根据蛇身体的长度计算得分。程序会自己记录最高得分和所用时间, 然后提示留下玩家姓名, 其默认名为无名侠。。二、课程设计的详细设计⑴程序启动时界面上棋盘由 20*20 个方格构成。其间有障碍物, 障碍物的形状由游戏者自己开始时选取,由程序内置设定。开始时,蛇静止不动,位于窗体的正中央,头向右。身体由一串共五个圆圈表示,代表头部的圆圈为红色,其中有两个小的绿圆圈代表眼睛,当蛇转向时两只眼睛也会转向。⑵按回车键开始游戏, 蛇自动在棋盘上向前爬行, 用户可以使用“←↑↓→”4 个方向键控制其拐弯。蛇只能向左右转 90o 的弯,不能后退。蛇吃掉一个数字后,身体伸长的幅度与数字的大小有关, 而且不是每次都突然间伸长, 而是逐渐的长长。例如, 吃掉“3”后, 蛇身体伸长 3 个圆圈; 吃掉“5”后身体伸长 5 个圆圈。⑶5 个数字(1~5) 的位置是随机的, 并且互不重叠, 且不会出现在蛇身上也不会出现在障碍上, 也不会和已经出现的数字重复。当蛇吃掉一个数字时,同样的数字随机地出现在其他位置上,即棋盘上总保持有“1~5”5 个数字。⑷使用回车键可以暂停或继续游戏。游戏进行时,窗口标题栏上显示出已使用的时间和得分, 得分是当前蛇身体的长度。⑸蛇在爬行时,如果其头部碰到障碍或自己的身体,则被“撞死”,游戏结束。程序回到游戏开始状态,用户可以重新开始玩。如果成绩超过程序的原有记录,程序将会提示游戏者保存记录,并且输入玩家姓名,其默认的是无名侠。(6) 玩家在开始游戏时可以自己设置游戏模式, 比如游戏为玩家提供了六种游戏模式, 他们的难度都不同,主要表现在他们的障碍物的分布上。玩家可以通过游戏界面上的设置来自己定义游戏的模式。本游戏还提供了对游戏的说明和帮助。三、调试程序的过程程序在编制过程中由于变量过多, 而且使用的语句反复, 出现了很多的问题, 特别是在程序的调试过程中, 经常会出现变量未定义, 或者变量益出的错误, 还有很多编制的程序段都没有达到设计功能。比如在用 line1() 和 line2 () 进行绘制格线时就没能达到初始要求, 后经多次改进才达到设计要求。再就是对一些控件的应用上也有很多错误, 比如说对于蛇身的 shape 控件时, 对于蛇身的前进方向就调试的很多次,因为蛇身方向的传递是通过 Shape 控件来实现的,其后一个延续前一个的方向, 在判断蛇是否撞到自己或者障碍时,主要是看蛇头控件的边界属性值是否和蛇身或障碍相同等等。四、课程设计总结在课程设计之初我对很多地方都是很迷茫的,几乎可以说是无从下手的,于是我首先重新阅读了教材,使得对 VB 有一个更深的了解,然后又请教学长,得到了很多的帮助才完成了这个题目。通过这个程序, 使我对 VISUAL BASIC 的部分内容有了一定的了解, 能更加熟练地运用一些定义和控件…明白了很多的知识,特别是以前上课时只了解到那些控件和数组还有语句的基本知识,但并没有实际操作多少,很多的地方都不明白到底要怎么做,比如关于判断产生的数字“1,2,3,4,5”是否出现在已有的数字上,或者是障碍上还是蛇身上的这类问题的解决,都是通过这次的课程设计才有所了解的,虽然如次,依旧还有很多的不懂的地方,这些都是靠请教同学和老师才知道的,最另我高兴的是通过本次的课程设计,我懂得了怎样应用 VISUAL BASIC 来解决一些生活中的常见问题,也更加深刻的理解了计算机程序解决问题的方便。五、附件( 源程序) frmmain Option Explicit Option Base 1 Dim intdirect() As Integer Public m As Integer Dim intnum As Integer Dim timepast As Integer Dim inteat As Integer Public restart As Boolean Private Sub Form_Load() ReDim intdirect(1 To 5) Dim i As Integer, j As Integer, n As Integer Dim maze(1 To 20, 1 To
“贪吃蛇”vb程序设计 来自淘豆网m.daumloan.com转载请标明出处.