1、 Vb 课程设计题 目 贪吃蛇小游戏学生姓名 张翠翠专 业 计算机信息管理班 级 086111学 号 08611130任课老师 丁木华东 华 理 工 大 学 高 等 职 业 技 术 学 院二 0 一 0 年 六 月一 背景蛇传说中的圣灵之物,仰头为神、俯首为魔。蛇是月亮国膜拜的神,月亮国的子民们都认为蛇是万能的主宰派来保护他们的守护者。这里有蟒蛇、布袋蛇、响尾蛇、白火蛇、眼镜蛇、魔鬼蛇、机器蛇、水蛇、小龙、橡皮蛇等等各种各样的蛇。蛇在这个岛屿就像空气一样自然的出现在各个角落,有些还成为居民的宠物,陪伴孩子长大,和年轻人一起去探险,守护着散步的老人。 古老月亮国是一个与世隔绝的岛国,善良的人民世
2、世代代生活在这片远离浮躁的世界里,过着与世无争的生活享受着他们的幸福和美满。这里有人们赖以生存的茂密的森林、荒凉的沙漠、寒冷的冰川和广阔的大海也有狂暴的火山和神秘的古代遗址。在善良的女娲神保佑下,人们的生活安宁平静。为了答谢女娲的庇佑,每年月亮国的国民都会举办一个守护蛇大赛,大家都会拿出自己最强、最炫、最快、最稀有的蛇来参加比赛,获得第一名的人将得到国王的特别嘉奖。所以国民一生都在不停的收集各种稀奇古怪的蛇,或者不断的培养更有威力的蛇。在这奇幻的大陆上,在每一片土地都布满着魔法和冒险。勇士们,快带上自己的守护蛇,去和守护蛇一起变的更加强壮、迅猛,去异界寻找那传说中的与众不同的蛇,去神秘的天界去
3、寻找月亮岛的秘密那将是怎么的一个神奇的经历呢?我们一起去见证那份不可思议的历程吧!贪吃蛇这款游戏,是利用 VB 编写的一个软件,在窗体里的任意角落出现青蛙,游戏者通过 控制贪吃蛇,吃掉一个青蛙,蛇身长长一格,分数相应的增加,游戏界面有两个按钮,开始和难度选择键。本款游戏益智,有趣,可以锻炼游戏者的瞬间反应能力,熟悉 。一、设计目的1. 综合 Visual Basic 相关知识制作简单的可视化应用程序2. 灵活对程序代码进行利用,修改和编写;3. 熟练将 Visual Basic 所学知识和其它知识相结合二 功能描述1、 运行运行时有登陆的界面:开始游戏和难度选择,点击开始键开始游戏,点击难度选
4、择选择难度。2、 出现青蛙进入游戏后,界面会出现贪吃蛇和青蛙,电脑随机安排青蛙的位置,吃掉后,青蛙出现在其他的位置。电脑随机安排青蛙的位置。3、 分数记录青蛙出现后用控制贪吃蛇,吃掉一个青蛙,蛇身长长一格,分数相应的增加点中加一分,没吃不加分。4、 游戏评分游戏结束后,会弹出一个评分表,电脑会根据游戏者控制贪吃蛇吃掉的青蛙积分,每个十分。二、概要设计(模块流程图)程序运行界面开始运行退出运行游戏开始再开始评分将顶头的时间初始化。弹出评分窗口顶头的时间初始,三 程序代码Public beibei As IntegerPublic baobao As BooleanSub Frog()x = In
5、t(26 * Rnd)y = Int(20 * Rnd)imgFrog.Left = 360 * ximgFrog.Top = 360 * yEnd SubPrivate Sub cmdOption_Click()Form2.ShowEnd SubPrivate Sub cmdStart_Click()Timer1.Enabled = Truelbl_gameover.Visible = Falselbl_Show.Visible = Falselbl_Num.Visible = FalsecmdStart.Enabled = FalsecmdOption.Enabled = Falsebei
6、bei= 3If Img.UBound 5 ThenFor i = 6 To Img.UBoundUnload Img(i)Next iEnd IfImg(0).Left = 6840Img(0).Top = 720For i = 1 To 5Img(i).Left = Img(i - 1).Left + 360Img(i).Top = Img(i - 1).TopNext iFor i = 0 To 5Img(i).Stretch = TrueImg(i).Visible = TrueNext iimgFrog.Left = 4320imgFrog.Top = 2880Set Img(0).
7、Picture = LoadResPicture(“al“, 0)End SubPrivate Sub Form_Load()Set Img(0).Picture = LoadResPicture(“al“, 0)For i = 1 To 5Set Img(i).Picture = LoadResPicture(“bb“, 0)Next ilbl_gameover.Visible = Falselbl_Show.Visible = Falselbl_Num.Visible = Falsebeibei = 3Timer1.Interval = Form2.hs.ValueEnd SubPriva
8、te Sub Timer1_Timer()If beibei= 1 ThenCall ChangeImg(0).Top = Img(0).Top - 360ElseIf beibei = 2 ThenCall ChangeImg(0).Top = Img(0).Top + 360ElseIf beibei = 3 ThenCall ChangeImg(0).Left = Img(0).Left - 360ElseIf beibei = 4 ThenCall ChangeImg(0).Left = Img(0).Left + 360End IfIf Img(0).Left = imgFrog.L
9、eft And Img(0).Top = imgFrog.Top ThenDoBaobao = TrueCall FrogFor i = 0 To Img.UBoundIf imgFrog.Left = Img(i).Left And imgFrog.Top = Img(i).Top Thenhaha = FalseExit ForEnd IfNext iLoop While baobao = FalseLoad Img(Img.UBound + 1)Set Img(Img.UBound).Picture = LoadResPicture(“bb“, 0)Img(Img.UBound).Str
10、etch = TrueIf Img(Img.UBound - 1).Left - Img(Img.UBound - 2).Left = 360 ThenImg(Img.UBound).Left = Img(Img.UBound - 1).Left + 360Img(Img.UBound).Top = Img(Img.UBound - 1).TopElseIf Img(Img.UBound - 1).Left - Img(Img.UBound - 2).Left = -360 ThenImg(Img.UBound).Left = Img(Img.UBound - 1).Left - 360Img
11、(Img.UBound).Top = Img(Img.UBound - 1).TopElseIf Img(Img.UBound - 1).Top - Img(Img.UBound - 2).Top = 360 ThenImg(Img.UBound).Top = Img(Img.UBound - 1).Top + 360Img(Img.UBound).Left = Img(Img.UBound - 1).LeftElseIf Img(Img.UBound - 1).Top - Img(Img.UBound - 2).Top = -360 ThenImg(Img.UBound).Top = Img
12、(Img.UBound - 1).Top - 360Img(Img.UBound).Left = Img(Img.UBound - 1).LeftEnd IfImg(Img.UBound).Visible = TrueEnd IfIf Img(0).Left Pic_grass.Width - 360 Or Img(0).Top Pic_grass.Height - 360 ThenTimer1.Enabled = Falselbl_gameover.Visible = Truelbl_Show.Visible = Truelbl_Num.Visible = Truelbl_Num.Capti
13、on = Img.UBound - 5cmdStart.Enabled = TruecmdOption.Enabled = TrueEnd IfFor i = 1 To Img.UBoundIf Img(0).Left = Img(i).Left And Img(0).Top = Img(i).Top ThenTimer1.Enabled = Falselbl_gameover.Visible = Truelbl_Show.Visible = Truelbl_Num.Visible = Truelbl_Num.Caption = Img.UBound - 5cmdStart.Enabled =
14、 TruecmdOption.Enabled = TrueEnd IfNext iEnd SubSub Change()For i = Img.UBound To 1 Step -1Img(i).Left = Img(i - 1).LeftImg(i).Top = Img(i - 1).TopNext iEnd SubPrivate Sub Pic_grass_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 38 ThenSet Img(0).Picture = LoadResPicture(“au“, 0)Beibei =
15、1ElseIf KeyCode = 40 ThenSet Img(0).Picture = LoadResPicture(“ad“, 0)Beibei = 2ElseIf KeyCode = 37 ThenSet Img(0).Picture = LoadResPicture(“al“, 0)Beibei = 3ElseIf KeyCode = 39 ThenSet Img(0).Picture = LoadResPicture(“ar“, 0)Beibei= 4End IfEnd Sub四 运行界面五 小结一 存在的不足1 没有暂停键2 不能退出。二心得体会课程设计是培养学生综合运用所学知识
16、,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。通过了这一周的 VB 课程设计,我学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次自己做一个程序,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,一定把以前所学过的知识重新温故。程序设计师需要大量的时间去动手练习才能体验到她的内涵,同时还需要用心去投入,时间和感情花下去之后,的确慢慢的感受到有所收获了,而却也噶据我到了一点点的乐趣了。可能是一个良性循环的开始吧,相信以后会做的更好的。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,但是在老师和同学的帮助下终于解决。在此向老师还有给过我帮助的同学们表示忠心的感谢!七.参考文献Visual Basic 程序设计教程(6.0 版)