.
写作
(40分)
|
系统设计
(30分)
|
程序设计(30分)
|
总分
(100分)
|
签章
|
|
|
|
|
|
《物联网程序设计》
课程考核报告
基于.NET的贪吃蛇小游戏设计与实现
学 院:
|
人工智能学院
|
专业班级:
|
2021网络工程 1班
|
姓 名:
|
张三
|
学 号:
|
201203232
|
指导教师:
|
李炎君
|
完 成 日 期:2022年 11月
摘 要
随着科技的发展,现在电脑的功能已不仅仅是简单的聊聊天、收发短信了。更多的电脑用户希望在工作、学习之余通过方便休闲娱乐。因此,为了迎合众多用户的需求并适应现在电脑的规模开发出一套适合各阶层人士的具有很强的娱乐性和交互性的贪吃蛇小游戏。
虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇游戏其市场还是相当大的。因为它的特殊在于它能吸引人更深入,爱不释手.随着游戏速度不断加快,其刺激性也更强。可以说该游戏的优势在于它的简单易行,不论是手机点按哦,电脑,还是小游戏机,都能很快顺利的运行。对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的。这样的小游戏刚好迎合了他们的需求。
Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。游戏主界面模块:主要包括游戏图形区域界面、游戏开始按钮、暂停按钮、退出按钮。游戏控制模块:主要完成游戏的开始、暂停、退出、速度调控等功能。
关键词:Java;B/S结构;模块
1 引言
随着科技的发展,现在电脑的功能已不仅仅是简单的聊聊天、收发短信了。更多的电脑用户希望在工作、学习之余通过方便休闲娱乐。因此,为了迎合众多用户的需求并适应现在电脑的规模开发出一套适合各阶层人士的具有很强的娱乐性和交互性的贪吃蛇小游戏。虽然现在市面上存在着各种各样的游戏版本,可见贪吃蛇游戏其市场还是相当大的。因为它的特殊在于它能吸引人更深入,爱不释手随着游戏速度不断加快,其刺激性也更强。可以说该游戏的优势在于它的简单易行,不论是手机,电脑,还是小游戏机,都能很快顺利的运行。对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的。这样的小游戏刚好迎合了他们的需求……
2 课程设计要求
2.1课程设计题目
自己的题目
2.2课程设计目的
2.3设计要求
3 可行性分析与需求性分析
3.1游戏的可行性分析
可行性分析[1](Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
3.1.1技术上的可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。我们所设计的贪吃蛇游戏[2],是以C语言作为本系统的开发工具,大量运用C语言中的图形库函数,以及算法的演示过程。它兼备高级语言与低级语言的优点,属于一种中间语言。它是面向结构化程序设计的语言,具有结构化的控制语句,以函数作为程序模块以实现程序的模块化,非常适合结构化程序设计。它有较丰富的数据类型、运算符以及函数供以选用。它直接与内存打交道,使修改、编辑其他程序与文档变得轻松、简单,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改[3]。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
3.1.2运行上的可行性
本系统为一个小型的贪吃蛇游戏,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
3.2需求性分析
本程序为贪吃蛇游戏,想必大家都玩过这个游戏,程序源代码用TC2.0编译通过,需要图形驱动文件的支持,在TC2.0的集成环境中有。
本程序利用数据结构中的链表,来将蛇身连接,同时当蛇每吃到一个食物,及身体就会增长一节,程序会时刻将一些信息显示在屏幕上,包括所得分数,要吃的食物。另外,此游戏可能与CPU的速度有关系[4]。
游戏有良好的人机界面,我们还可以自己动手,在游戏的过程中,玩家可以充分发挥自身的聪敏才智,毫无顾及的施展自己的才华。
4 课程设计具体实现
4.1 概要设计
4.1.1设计思想
程序关键在于表示蛇的图形及蛇的移动[5]。用一个小圆圈表示蛇的一节身体,身体每长一节,增加一个小圆圈,蛇头(蓝色)用三节表示。移动时必须从蛇头开始,所以蛇不可以向相反的方向移动,如果不按任意键,蛇自行在当前方向右前移,但按下有效方向键后,蛇头朝该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新的位置差一个单位,所以看起来蛇,多一节身体,所以将蛇的最后节用背景色覆盖。食物的出现与消失也是画小草莓和覆盖小草莓并转化为小圆圈的过程。为了便于理解,定义两个结构体:食物与蛇。然后利用图形驱动,,制作美观的游戏界面,通过随机函数产生随机的食物,控制游戏过程食物的出现。定义键盘操作控制游戏过程蛇的移动方向,画出边界,并判断游戏是否结束,统计游戏过程中,计算蛇吃食物的数量,计算并输出游戏成绩。
4.1.2主函数流程图
文字描述,流程图如图4.1所示。
图4.1 流程图
4.2 设计思想
首先进入VS2008打开文件新建一个项目,点击windows窗体应用程序,名字设为Snakes[6]。进入Form的设计界面,首先我们都知道游戏最基本的功能有开始,暂停,继续,退出,所以首先要先加4个button键来控制游戏,再加一个Textbox文本框来显示成绩。在窗体中加入Panel来实现贪吃蛇的运动空间,设置有一个游戏的界面运动空间。之后就要定义一个sakes类,来实现蛇的一些属性与方法,首先明白这个游戏实现的是贪吃蛇吃食物,所以还需要定义食物,食物被吃后要实现食物的重建。玩游戏时还需要有控制键的设置,这一模块可以选用Switch语句来实现。实现基本的功能后要注意怎样的情况会造成蛇的死亡,可以想到的有越界线,咬到自己都会死亡。随着思想的成熟,觉得只吃食物动作好像太简单,所以在这个贪吃蛇游戏的基础上又设置了速度模式。
4.3 具体模块实现
4.3.1 创建蛇模块
文字描述
4.3.2 创建食物模块
文字描述
4.3.3 蛇吃食物的模块
文字描述
4.3.4 是否撞到自己的模块
文字描述
4.3.5 游戏结束模块
文字描述
4.3.6 初始化模块
文字描述
5 调试过程及运行结果
5.1 调试过程
(1)在实现撞击障碍物的过程中,刚开始的时候墙不起作用,贪吃蛇有时会跑出墙的范围,后来才发现是障碍物的设置范围出现了错误。经过不停的尝试与计算才算出正确的范围[7][8]。
(2)在玩游戏的过程中发现食物会与墙有重合的情况,然后通过分析原因,这与构造食物时,判断食物与身体是否接触的道理是一样的,这里需要加一个循环语句来判断,如果不是墙的话,才在这里创建食物。
5.2 实验结果及分析
(1)游戏开始界面
相关文字描述及运行结果展示,如图5.1所示。
图5.1 游戏开始图
(2)游戏运行界面
相关文字描述及运行结果展示,如图5.2所示。
图5.2 游戏运行图
(3)游戏指南
相关文字描述及运行结果展示,如图5.3所示。
图5.3 游戏指南图
(4)结束界面
相关文字描述及运行结果展示,如图5.4所示。
图5.4 游戏结束图
6 体会与收获
这次的课程设计对我来说有很大的收获,我学到了许多课本上没有学到的知识,这次我将将课本上的理论知识充分的转化成了一些实用技能。通过这次自己制作的软件,丰富了自己的实践技能,扩展课本专业的知识面。在这次设计的同时,我又从中学到了许多东西。但由于我对这样的软件开发还只是一个开始,了解的不多,这其中还有很多的不足,没有做出来联机的页面,有些模块做的也不是很好。
此外,在这一次的课程设计过程中,我上网查阅了大量的资料,对Java有了更深的理解,对于软件工程这些辅助性的教材也巩固了不少,为我这次的课程设计提供了很大的帮助,锻炼了我的能力。更重要的是,它还让我认识到了自己的不足之处,在编程方面,我还是比较欠缺,以后的路任重道远,我需要的事不断地丰富自己,充实自己,这样才能在程序设计方面有所收获。
参考文献
[1] 施伯乐.数据库系统教程(第3版).北京:高等教育出版社,2009.
[2] 黄明、梁旭、曹利超. Visual Basic NET信息系统设计与开发实例.北京:机械工业出版社,2005.
[3] 黄志超、李婷婷.Visual Basic NET项目开发实践.北京:中国铁道出版社,2003.
[4] 萨师煊,数据库系统概论(第三版).北京:高等教育出版社,2003.
[5]吴清芳.基于ASP.NET的网页设计精品课程网络教学系统的设计与实现[D].中国海洋大学,2011.
[6]王建良,高慧.基于完全工作过程的ASP.NET(C#)程序设计精品课程建设[J]. 软件工程师,2010,04:40-42.
[7]陈奕.基于Asp.net的课程网站的设计与实现[J]. 九江职业技术学院学报,2008,03:51-52+48.
[8]郭木阳.技工院校《ASP.NET(C#)程序设计》课程建设探索[J]. 科技创新导报,2011,33:157.