当前位置:文档之家› 3贪吃蛇游戏概要设计说明书

3贪吃蛇游戏概要设计说明书

3贪吃蛇游戏概要设计说明书
3贪吃蛇游戏概要设计说明书

软件设计与体系架构实验报告

学院:计算机科学与技术学院

学号:0121210680330

姓名:郭烨华

班级:sy1201

课题名:贪吃蛇游戏开发

概要设计说明书

1. 引言

1.1 编写目的

在分析《贪吃蛇游戏的需求分析说明》的基础上,我们对该系统做了概要设计,主要是基于以下目的编写此说明书:

1.对系统概要设计的的阶段任务成果形成文档,以便阶段验收、评审,最终的阶段验收。

2.对需求阶段的文档再次确认过程,对前一阶段的需求不充分的地方或者有错误的地方进行修改。

3.明确整个系统的功能框架和数据结构,为下一阶段的详细设计、编码、测试提供参考依据。

4.明确编码规范和命名规范,统一程序界面。

预期读者:详细设计人员、概要设计评审小组、研究院领导。1.2 背景

系统名称:贪吃蛇游戏

任务提出者:手机策划人员

开发者:技术人员

用户:NOKIA手机用户

运行该软件机器:NOKIA手机

.3 定义

1. 节:

一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。

2. 链表:

用来保存每一段的状态,链表的元素单位是节。且链表的第一个元素表示蛇的头部。

3. 坐标系:

以左上角那点为(0,0),向右则x递增,向下则y递增。

.4 参考资料

张海藩:《软件工程导论》第五版清华大学出版社

肖刚等:《实用软件文档写作》

2 总体设计

2.1 需求规定

2.1.1输入、输出

输入:操作选择、级别

输出:时间、分数

2.1.2 功能要求

本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。

2.1.3 性能要求

本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。

2.2 运行环境

本次设计的系统环境及工具:

运行环境:WindowsXP

编程语言:Java

使用工具:Eclipse

.3 基本设计概念和处理流程

2.3.1基本设计概念如下:

程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,在身体最后增加一个矩形块。移动时必须从

蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,长度为保存蛇每个节点信息的链表的长度。食物的出现是先确定一组随机数,再填充方格,食物的消失是由于使用了清屏函数,当吃掉食物后就不再重画本次食物,而是生成一组新的随机数,画新的食物。当蛇头的位置坐标和石头的坐标或者自己身体的某个节点的坐标相同时,蛇就死掉了,游戏结束。

2.3.2处理流程如下:

2.4 结构

1. Ground类:

1) private int TYPE;

2) public int[][] rocks=new int[Global.WIDTH]

[Global.HEIGHT];

3) public void setGround(int type){}

4) public boolean isSnakeEatRock(Snake snake){}

5) public Point getPoint(){}

6) public void drawMe(Graphics g){}

7) 功能:根据不同的布局类型画出不同的石头布局

2. Snake类:

1) public static int x,y;

2) private int oldDirection,newDirection;

3) private Point oldTail;

4) public LinkedList body=new LinkedList

();

5) public void die(){}

6) public void move(){}

7) public void changeDirection(int direction){}

8) public void drawMe(Graphics g){}//把属于蛇的格子画出

9) private class SnakeDriver implements Runnable{}//蛇

不停走动

10) 功能:根据有效方向键改变坐标值,实现蛇的定时移动

3. Food类:

1) public void drawMe(Graphics g){}

2) 功能:根据生成的随机数画出食物

4. Controller类:

功能:处理按键时间,处理逻辑。根据不同的情况向Snake,Food,Ground发出不同的命令

5. GamePanel类:

功能:画出Snake,Food,Ground,并实现重新显示

2.5 功能需求与程序的关系

1. 游戏界面主框架主要包括游戏图形主界面、开始界面。

1) 游戏图形主界面主要包括:食物的随机位置、石头的布局、蛇

的移动位置

2) 开始界面包括:开始、继续、暂停、历史最高分、游戏说明、

退出等按钮。

2. 与程序的关系:

1) 开始界面StartPanel画出开始、继续、暂停、历史最高分、游戏

说明、退出等按钮。

2) 游戏图形主界面GamePanel画出Snake,Ground,Food。用户在

StartPanel选择按钮或者按下快捷键,Controller类判断逻辑或响应事件,向Snake,Ground,Food发出命令,分别执行,最后由

GamePanel实现刷新并显示。

2.6 人工处理过程

由用户选择游戏控制类别:开始、暂停、继续、历史最高分、游戏说明、退出,或者选择有效方向键。

.7 尚未解决的问题

没有实现画出一个限时食物,蛇要在倒计时内吃到食物,否则倒计时结束,食物消失。

3 接口设计

3.1 内部接口

SnakeListener:

Void SankeMoved(Snake);

4 运行设计

4.1 运行模块组合

1. 在控制面板选择NewGame,Cotroller类响应事件,发命令给

Snake类开启一个线程,及GamePanel类重画Snake,Food,

Ground。

2. 选择Pause,Controller类发命令给Snake类暂停移动,GamePanel

类暂停刷屏,Time类停止计时,SaveGame类保存当前Food、

Ground等级、Snake每个节点的位置。

3. 选择Resume,从文件中读取Food、Ground等级、Snake每个节点

的位置。Time类开始计时,GamePanel类开始刷屏,重画

Snake,Food,Ground,Snake类开始蛇的定时移动。

4. 选择HighScore,Cotroller类响应事件,发命令给highScore类从

文件中读取保存的信息,并显示。

5. 选择LowLevel、Highlevel,Cotroller类发命令给Ground类,设置

石头的信息。

6. 选择Description,Cotroller类响应按钮点击事件。

7. 选择Exit,Cotroller类响应按钮点击事件。

8. 当蛇死掉时,Cotroller发命令给Snake类使蛇die(),highScore类保

存当前分数,和历史分数比较。选取最高的六次,并排序。4.2 运行控制

由用户选择游戏控制类别:开始、暂停、继续、历史最高分、游戏说明、退出,或者选择有效方向键。尚未暂停不能选择继续。历史最高分、游戏说明任何时候都可以选择,游戏没结束时不能选择退出,可以暂停,下次再运行时可以选择新游戏或者继续。

4.3 运行时间

该游戏软件运行时,Snake、Food、Ground三个对象一致同时存在,直到戏结束。其中蛇移动方法长期占用资源,改变方向、吃到食物及石头都是瞬发动作,只是瞬间占用系统资源。

5 系统出错处理设计

5.1 出错信息及补救措施

可能的出错或故障情况系统输出信息的形式、含意处理方法

按钮连续选择两次蛇的速度加快或是抛出异常每个按钮在选择后设为灰显

游戏在进行时选择新游戏蛇的速度加快在游戏开始后newGame按钮变

灰显

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.doczj.com/doc/fb2905392.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

基于单片机的贪吃蛇设计

基于单片机的贪吃蛇设计 本篇论文主要是设计并且着手致力于实现一种基于51单片机的经典的贪吃蛇游戏,主要是研究该游戏的硬件电路和软件编程的设计,同时也简单介绍了应该如何使用Proteus软件进行仿真。借助仿真软件进行实验测试,可以基本实现游戏一些简单的基本功能。直至现在,大家都知道且明白了51系列的单片机技术相对而言比较成熟,功能也十分强大,应用较为广泛。将单片机作为本设计的控制核心,能够使硬件电路大大地简化,用软件来编程控制单片机,来加以实现硬件电路的功能,可以降低能耗,同时也节约成本。选用C语言编程,比较方便灵活,极大地加快了软件开发的速度,使开发周期缩短了,同时方便移植。本篇论文比较详细的的介绍了各种硬件的基本特性,贪吃蛇游戏实现的基本功能与详细设计,软件设计的具体说明,每一个模块的细节要求,还有一些功能模块的程序流程图和关键部分代码的详细讲解等。 关键词:Proteus软件仿真;51单片机;Keil;贪吃蛇;LED点阵屏

目录 1 绪论 (1) 1.1研究背景及意义 (1) 1.2单片机发展状况 (1) 1.3 LED发展状况 (2) 1.4 设计特点 (3) 2 系统总体设计 (3) 2.1设计要求 (3) 2.2 系统设计方案 (4) 2.2.1硬件设计 (4) 2.2.2软件设计 (4) 3系统硬件设计 (4) 3.18*8LED点阵的原理说明 (4) 3.2 LED阵列驱动电路 (4) 4系统软件设计 (5) 4.1系统主要模块介绍 (5) 4.1.1 主函数模块 (6) 4.1.2 按键模块 (6) 4.1.3 蛇运动控制模块 (6) 4.2主程序工作流程 (6) 4.3 游戏设计思想 (7) 4.4 LED点阵初始化 (8) 4.5 贪吃蛇的移动 (9) 4.6 食物的随机出现 (9) 5联调与测试 (9)

STM32课程设计贪吃蛇

STM32大作业报告 学生: 学号: 所在院系:光电信息与计算机工程学院专业班级: 授课教师: 完成时间:2016年

前言 随着科学技术的不断进步,嵌入式近些年来逐渐兴起,其领域比较新,发展非常迅速,由于它属于新兴领域,接触的人并不是很多,但是嵌入式在各种电子设备上的应用越来越越广泛,并且各种电子设备也在朝着嵌入式微系统,智能化的方向前进。STM32系列是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M核。作为21世纪的人才,为了与社会实际需要相衔接,提高我们的学习兴趣,利用STM32系列单片机进行了一次嵌入式系统设计。 摘要 在本次作业中采用STM32系列中的STM32F103RCT6微控制器芯片,采用ALIENTEK战舰STM32开发板,使用MiniSTM32开发板上的LCD 接口,来点亮TFTLCD,实现触摸屏功能。

一、课程设计任务要求 本次的课程设计目的是实现一个经典的贪吃蛇游戏,整个游戏实现功能分别为: 1、初始化程序。 2、随机红点、左转、右转、判断边框。 二、系统硬件设计 硬件设计原理图 根据此硬件设计图再结合软件设计就能做出此游戏。 三、系统软件实现 此次的课程设计在于开发个贪吃蛇游戏,其流程图如下图所示。

程序流程图 为方便介绍,此软件实现只给出主要程序部分: 1、本例程提供了硬件平台的初始化 GPIO是常规输入/输出端口,STM32F103RCT6有PA、PB、PC、PD、PE 共5个16位的GPIO。STM32的GPIO都可编程,具有很多复用功能。GPIO 可以配置为很多总模式,这些模式有:输入浮空、输入上拉、输入下拉、模拟输入、开漏输入、推挽输出、推挽复用、开漏复用。通过对GPIO寄存器编程,可以设置每个端口的工作模式。 24C02 EEPROM是开发板板载的2Kbit(256 个字节)EEPROM ,型号为:24C02,用于掉电数据保存。因为STM32 部没有EEPROM,所开发板外扩了24C02,用于存储重要数据,用来做IIC 实验,该芯片直接挂在STM32 的IO 口上。 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS 公司开发的两线式

C语言贪吃蛇程序设计说明书

C语言贪吃蛇程序设计说明书 题目:贪吃蛇游戏 学校: 系别: 专业 班级: 姓名: 学号: 指导老师: 日期: 一、设计题目: 贪吃蛇是一款经典的休闲游戏,一条蛇在密闭的围墙内,随机出现一个食物,通过控制方向键操作小蛇不停的朝着食物前进,直到吃掉食物。每吃一个食物,小蛇都会长长一截,随之难度增大;当小蛇头撞到墙或自己时,小蛇死亡。 二、功能设计: 本游戏要求实现以下几个功能: (1) 用上、下、左、右键控制游戏区蛇的运动方向,使之吃食而使身体变长; (2) 用户可以调节蛇的运行速度来选择不同的难度; (3) 游戏分多个难度级别; (4) 用户可自选颜色; (5) 记录成绩前五名的游戏玩家; (6) 增加背景音乐; (7) 提高障碍物和游戏级别。 三、程序模块图: 贪吃蛇游戏 初画控设帮 始图制置助 模模模模化 块块块块

墙蛇食移食死变成等音 体身物动物亡长绩级效 2 四、算法流程图: 开始初始化界面和蛇身 放置食物 获取按键 开始运动 碰到边界 是 否 否蛇吃到食 是 蛇长大 蛇死亡是 继续 否 结束 3 五、函数原型与功能 1.主函数:void main() 启动程序,触动其他函数。 2.初始化:void init () 设置背景框大小、蛇体初始值,随机产生食物。 3.随机产生食物:void setfoodcrd()

设置食物生成坐标,0表示食物被吃。 4.画食物:void showfood() 用矩形框来画食物 5.画蛇:void showsnake() 根据蛇的坐标和节数,循环用矩形框来画蛇。 6.蛇移动:void snakemove() 根据按键,重设坐标 7.改变蛇的方向:void changeskdir() 响应用户的运动方向 8.判断蛇是否死亡:void judgeslod 判断蛇是否碰到自己或墙。 9.判断蛇是否吃到食物:void judgefood() 判断是否吃到食物,吃食后变0,蛇增长一节。 10.结束游戏:void gameover() 结束话语,并执行下一步。 六、基本代码 #include #include #include #pragma comment(lib,"Winmm.lib") #include "MyTimer.h" #define SIZEMAX 100 /*蛇最大长度*/ #define SPEED 100 /*初始速度*/ #define len 20 /*蛇宽度*/ #define lm 10 /*蛇每次移动距离*/ #define initlen 600 /*初始化窗口正方形的长度*/ #define Min_snakelen 2 /*蛇的最小长度*/ typedef struct { int x,y; }DIR; int snakelen=Min_snakelen; /*蛇的长度*/

贪吃蛇课设

唐山学院 一、设计题目、内容及要求 题目:贪吃蛇游戏程序设计 内容:游戏开始时弹出初始菜单,游戏者按任意键进入游戏。游戏者用←↓→↑键来控制蛇在游戏场景内运动,每吃到一个食物,游戏者得10分,分数累加结果会在计分板上显示;与此同时蛇身长出一节。当贪吃蛇的头部撞击到游戏场景边框或者蛇的身体时游戏结束,并显示游戏者最后得分。 要求:程序结构合理、算法准确、语法正确,并生成可执行文件。 C语言程序设计课程设计 题目贪吃蛇游戏程序设计 系(部) 信息工程系 班级电信4班 姓名康林林 学号4130220436 指导教师 2014年2 月24 日至 3 月7 日共 2 周 2014年3月7 日

二、要求的设计成果(课程设计说明书、设计实物、图纸等) 1. 课程设计说明书:课程设计说明书1份,不少于2000字。说明书中要包含需求分析、总体设计、详细设计以及主要的算法描述等内容。 2. 源代码:程序清单 三、进程安排 2.24-2.5:完成需求分析和程序总体设计。 2.26-2.27:完成数据录入、删除、修改、插入和浏览功能模块的设计。 2.28- 3.3:程序调试无误,生成可执行文件。 3.4-.5:撰写课程设计说明书初稿。 3.6-3.7:提交课程设计说明书、程序和数据。 四、主要参考资料 [1] 谭浩强,张基温.C语言程序设计教程(第3版)[M].北京:高等教育出版社, 2006 [2] 吕凤煮.C语言基础教程——基础理论与案例[M].北京:清华大学出版社, 2005 [3] 黄明、梁旭、万洪莉.C语言课程设计[M].北京:电子工业出版社,2006 [4] 郭宁,郑小玲.管理信息系统[M].北京:人民邮电出版社,2006 [5] 赵池龙,杨林,陈伟.实用软件工程[M].北京:电子工业出版社,2006指导教师(签名):教研室主任(签名): C语言程序设计课程设计任务书 课程设计成绩评定表

《贪吃蛇游戏课程设计》报告资料整理

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。

3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量 }food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动

贪吃蛇设计规格说明书

贪吃蛇设计规格说明书 院系:信息技术学院 姓名:livechange 指导老师:XXX 日期:2016-06-07

目录 一、设计背景 (2) 二、需求分析 (2) 三、运行环境 (3) 四、设计概要 (3) 五、详细设计 (5) 六、停止游戏 (8)

贪吃蛇 一、设计背景 随着科技的发展,笔记本、手机的价格相对于以前下降很多,现在很多普通人也可以使用笔记本、智能手机。笔记本、手机不再只是主要用来办公、接打电话。更多的用户希望在工作、学习之余通过方便灵巧可随身携带的设备休闲娱乐。因此,为了迎合众多用户的需求并适应用户要求,开发具有很强的娱乐性和交互性的贪吃蛇小游戏。可以说该游戏的优势在于它的简单易行,不论是笔记本、iPad,还是智能手机,都能很快顺利的运行。在如今社会,人们的工作学习压力逐渐增大,生活节奏逐渐加快,大多数人没有足够的时间去休闲娱乐,放松自己。这款小型的游戏,可以让我们随时随地都能享受游戏。让我们从繁重的日常生活中解脱出来。游戏的主界面应该力求简单,以提高玩家对游戏的兴趣。游戏的控制模块应该做到易懂、易操作,以给玩家一个很好的游戏环境。由于本程序简单易操作,交互性好,对用户没什么特别要求。一般用户经过几分钟练习都可以熟悉本游戏的规则。 二、需求分析 贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。具体需求概

要如下: 1.初始化游戏界面为700*600大小。 2.在HTML中用格子初始蛇长及蛇的位置,用上、下、左、右控制方向进行游戏。游戏过程中,每吃到一次食物蛇身增加一格,分数加10分。 3.蛇头咬到蛇尾或蛇头接触边框,则停止游戏,显示累计分数,游戏结束。 三、运行环境 本程序对硬件配置要求不高,只需要设备支持HTML5即可。适合在笔记本、iPad、智能手机运行。 四、设计概要 1.初始化模块: 屏幕初始化,屏幕初始化用于显示游戏信息; 2.游戏界面模块: 设计灰色的边框,边框内用白色灰框格子填充作为游戏活动区域;3.游戏运行模块: 运用函数控制蛇长及食物的关系,并使用键盘控制方向,空格键暂停(继续)。 4.判断模块: 头咬到尾或头接触活动区域外围,则游戏结束,显示累计分数。

贪吃蛇游戏程序设计实验报告

Windows编程大作业贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2015年12月16日

目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献

一、题目介绍: 编写一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake { int x,y; int len; int direct; }Snake[50]; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food { int x; int y; int isfood; }Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;

C语言贪吃蛇

------------ 大学 C语言程序设计课程设计(论文)题目:贪吃蛇 院(系): 专业班级: 学号: 学生姓名: 指导教师: 教师职称: 起止时间:

课程设计(报告)任务及评语 院(系):教研室: 学号学生姓名专业班级 程序设计 (报告) 题目 贪吃蛇 程序设计(报告)任务 程序设计的任务与要求: (1)掌握C语言编程的基础知识。 (2)较熟练地编写C语言应用程序。 (3)了解C语言的常用标准函数、编程技巧、异常处理。 (5)联系已学过的内容,巩固所学的理论,增强独立工作能力。 (6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。 (7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。 课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。 指 导 教 师 评 语 及 成 绩 成绩:指导教师签字: 2011年 1 月 4 日

目录 第1章 C语言课程设计的实训目的与要求 (1) 1.1 C语言课程设计目的 (1) 1.2 C语言课程设计的实验环境 (1) 1.3 C语言课程设计的预备知识 (1) 1.4 C语言课程设计要求 (1) 第2章 C语言课程设计内容 (2) 2.1程序功能介绍 (2) 2.2程序整体设计说明 (2) 2.2.1设计思路 (2) 2.2.2数据结构设计及用法说明 (3) 2.2.4各模块的功能及程序说明 (7) 2.2.5程序结果 (8) 2.3程序源代码及注释 (10) 第3章 C语言课程设计总结 (17) 参考资料.. (20)

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计 (小游戏贪吃蛇的程序设计报告)

设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点 3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试 1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一.概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C 语言技术为基础,使用Turbo C++3.0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1.1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的和那个发,技术和工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法和步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习和将来实际软件开发打下坚实的基础。 1.2 设计的任务和需要的知识点 1.2.1 课程设计主要完成的任务 1). 通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解和掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题和解决问题的能力。 1.2.2需要掌握和运用的知识点 1.2.3本次课程设计需要掌握和运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐和动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。

贪吃蛇游戏详细设计说明书

详细设计说明书 1 引言 1.1 编写目的 本说明书在概要设计的基础上,对贪吃蛇游戏的各模块、程序、子系统分别进行了实现层面上的要求和说明。软件开发小组的产品实现人员阅读和参考本说明进行代码的编写和测试。 本说明书预期的读者是软件开发小组的产品实现人员。 1.2 背景 说明: 系统名称:贪吃蛇游戏 任务提出者:手机策划人员 开发者:软件开发小组的产品实现人员 用户:NOKIA手机用户 运行该程序系统的计算中心:NOKIA手机芯片 1.3 定义 1.节: 一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。 2.链表: 用来保存每一段的状态,链表的元素单位是节。且链表的第一个元素表示蛇的头部。 3.坐标系: 以左上角那点为(0,0),向右则x递增,向下则y递增。 1.4 参考资料 张海藩:《软件工程导论》第五版清华大学出版社 肖刚等:《实用软件文档写作》清华大学出版社

2 程序系统的组织结构 2.1每个模块和子程序的名称、标识符: 1Ground类: 1)private int TYPE; 2)public int[][] rocks=new int[Global.WIDTH][Global.HEIGHT]; 3)public void setGround(int type){} 根据不同的Type值将rocks的不同下标的元素设为1,其他元素为0。 4)public boolean isSnakeEatRock(Snake snake){} 判断蛇头的所在的位置在数组rocks中的值是否为1,如果是1,则表示蛇吃 到了石头,返回TRUE,否则返回FALSE。 5)public Point getPoint(){} 产生一组随机数(x,y),是食物的坐标 6)public void drawMe(Graphics g){} 将数组rocks中值为1的元素填充为石头颜色。 2Snake类: 1)public static int x,y; 2)private int oldDirection,newDirection; 用于判断newDirection和oldDirection是否为相反方向,用于选取有效方向。 3)private Point oldTail; 用于判断蛇头是否和蛇身的某个节点的坐标重合,即蛇是否吃到自己。 4)public LinkedList body=new LinkedList(); 5)public void die(){} 设置变量life=FALSE;使控制进程的条件为假,进程结束。 6)public void move(){} 实现蛇身沿着蛇头的轨迹移动 7)public void changeDirection(int direction){} 根据方向键,改变蛇头的x、y的值,即改变方向 8)public void drawMe(Graphics g){}//把属于蛇的格子画出来 9)private class SnakeDriver implements Runnable{}//蛇不停走动 3Food类: 1)public void drawMe(Graphics g){} 根据产生的一组随机坐标,在其坐标处画出食物 4Controller类: 功能:处理按键事件及鼠标点击事件,处理逻辑。根据不同的情况向Snake,Food,Ground发出不同的命令。 实现接口snakeMoved,蛇每移动一步,就要判断一次,蛇是否吃到石头、是否吃到自己,是的话就snake.die()并停止计时;不是则不进行任何操作。如果吃到食物,就要加分、重画食物、蛇身加长。 实现(N)NewGame功能、(E)Exit功能、(R)Resume功能、(L)LowLevel功能、(H)HighLevel功能、(P)Pause功能。 5GamePanel类: 功能:画出Snake,Food,Ground,并实现重新显示

java贪吃蛇课程设计

1设计目的 1.1背景 近年来,Java作为一种新的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。JBuilder是Borland公司用于快速开发Java应用的一款优秀的集成开发环境,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的接受和认可。 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术和JBuilder开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,六个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。 本文在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。概要设计给出二个功能模块的主框架以及六个类模块的函数调用关系;详细设计介绍了Java2标准运行环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使用的方法,展示了游戏的界面。为了保证程序代码的正确性和功能实现的可靠性,本文还介绍了游戏软件的程序调试过程和功能测试结果。 1.2目标 本软件是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 2 总体设计 2.1 设计思路 本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求: (1) 利用方向键来改变蛇的运行方向。 (2) 空格键暂停或继续游戏,并在随机的地方产生食物。 (3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 2.2 设计说明 本系统共包括1个java源文件和7个类文件。

基于C语言的贪吃蛇游戏开发与设计

计算机科学与技术学院 学年设计说明书(论文) 作者:呼斯勒都仍 学号:159040642003 院系:计算机科学与技术学院(软件外包) 专业:计算机科学与技术 题目:基于C语言的贪吃蛇游戏开发与设计

目录前言 第一章概述 1.1中国手机游戏产业现状 1.2中国手机游戏的未来展第二章开发工具的简介 2.1可行性分析 2.2 功能性分析 第三章 3.1概要设计 3.1功能介绍 3.2概要设计图 第四章详细设计 第五章

前言 C语言是目前世界上流行、使用最广泛的高级程序设计语言。 C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。 常用的编译软件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等...... C语言的发展历史 C语言的发展颇为有趣。它的原型ALGOL 60语言。 1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。 1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统 而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE 在B语言的基础上最终设计出了一种新的语言,他取了BGPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。 1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。 1988年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言

贪吃蛇需求规格使用说明

贪吃蛇 需求规格说明书 开发小组成员:

目录 一.引言-----------------------------------------------------------------------------------------------3 1.1编写目的-----------------------------------------------------------------------------------3 1.2编写原则-----------------------------------------------------------------------------------3 1.3参考资料-----------------------------------------------------------------------------------3 1.4适用范围-----------------------------------------------------------------------------------3二.系统概述----------------------------------------------------------------------------------------3 2.1业务背景-----------------------------------------------------------------------------------3 2.2用户类别与特征-------------------------------------------------------------------------3 2.3用户文档-----------------------------------------------------------------------------------4 2.4设计和实现上的限制-------------------------------------------------------------------4 2.5运行环境-----------------------------------------------------------------------------------4三.功能需求----------------------------------------------------------------------------------------4 3.1系统用例图--------------------------------------------------------------------------------4 3.2项目名称-----------------------------------------------------------------------------------4 3.2.1功能描述----------------------------------------------------------------------------4 3.2.1.1进入游戏-------------------------------------------------------------------4 3.2.1.2玩游戏----------------------------------------------------------------------5 3.2.1.3游戏的退出---------------------------------------------------------------5四.非功能需求-------------------------------------------------------------------------------------6 4.1系统质量要求-----------------------------------------------------------------------------6 4.1.1性能-----------------------------------------------------------------------------------6 4.1.2可靠性-------------------------------------------------------------------------------6 4.1.3可维护性----------------------------------------------------------------------------6 4.1.4可用性-------------------------------------------------------------------------------7 4.1.5可移植性----------------------------------------------------------------------------7 4.1.6可测试性----------------------------------------------------------------------------7 4.1.7易用性-------------------------------------------------------------------------------7 4.2安全性需求--------------------------------------------------------------------------------7 4.3环境需求-----------------------------------------------------------------------------------7 4.4保密性和私密性的需求---------------------------------------------------------------7 4.5其他需求----------------------------------------------------------------------------------7五.外部接口需求---------------------------------------------------------------------------------8 5.1用户界面----------------------------------------------------------------------------------8 5.1.1界面布局---------------------------------------------------------------------------8 5.1.2界面风格---------------------------------------------------------------------------8 5.1.3界面规范---------------------------------------------------------------------------8 5.2硬件接口----------------------------------------------------------------------------------9 5.3软件接口----------------------------------------------------------------------------------9

贪吃蛇详细设计说明书

贪吃蛇_详细设计说明书 编写人: 完成日期:X年X月X日 文档名称:详细设计规格说明书 1

项目名称:贪吃蛇游戏 项目负责人:XXX XXX 编写 TEST __X___年_X_月___X_日 校对所有小组成员 __2015___年___6__月___13_日 审核所有小组成员 ____2015_年___6__月___13_日 批准 XXX _2015____年___6__月___14__日 开发单位 __XXX班_____ 组员: XXX XXX

目录 1.引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (3) 2.系统的结构 (4) 2.1 每个模块的名称、标识符如下所示: (4) 2.2模块之间的关系: (5) 3.模块1(标识符)设计说明 (6) 3.1模块描述 (6) 3.2功能 (7) 3.3性能 (7) 3.4输入项 (8) 3.5输出项 (8) 3.6设计方法(算法) (8) 3.7流程逻辑 (11) 3.8接口 (12) 3.9存储分配 (12) 3.10注释设计 (12) 3.11限制条件 (12) 3.12测试计划 (13)

3.13尚未解决的问题 (13) 1.引言 1.1编写目的 本说明书在概要设计的基础上,对贪吃蛇游戏的各模块、程序、子系统分别进行了实现层面上的要求和说明。软件开发小组的产品实现人员阅读和参考本说明进行代码的编写和测试。 本说明书预期的读者是软件开发小组的产品实现人员。 1.2背景 说明: 系统名称:贪吃蛇游戏 任务提出者:手机策划人员 开发者:软件开发小组的产品实现人员 用户:Android操作系统手机用户 运行该程序系统的计算中心:Android操作系统手机芯片 1.3定义 1. 节:一条蛇可以看成由许多正方形的“小格子”拼凑成,称

单片机贪吃蛇课程设计报告

电气与信息工程学院 单片机课程设计报告 一、设计任务及要求 基本功能: 制作一个8*8点阵的贪吃蛇游戏,系统以单片机的C语言的软件设计,系统通过LED点阵屏为载体显示数据,并用五个输入端表示五个控制键(上下左右及加速)。系统硬件部分由STC89C52RC单片机,8*8点阵屏,5个按键,软件部分在keil环境下用C51语言编写,包括游戏初始化蛇的节数,以及障碍墙壁,游戏结束时自动复位。 具体要求: 1、用四个按钮控制贪吃蛇的行径,一个按钮控制贪吃蛇的加速,蛇的初始长度为2点,设置墙壁。 2、蛇吃到长度为1点的食物时,自身长度增加1点。 2、速度按钮带有一次加速,按两下速度按钮蛇的行进速度回到初始值。 3、当蛇碰到墙壁或自己的身体时游戏结束。 4、用proteus设计,仿真基于STC89C52RC单片机的8x8点阵贪吃蛇的硬件电

路。 5、游戏结束,系统自动复位。 二、硬件电路设计 本系统以STC89C52RC为核心,设置12MHz的晶振,使得单片机有合理的运行速度。LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化的显示组件,本设计采用8*8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。五个独立按键控制蛇的游走方向(上下左右)和加速减速的功能。贪吃蛇是一款经典的小游戏,玩家通过按键操控贪吃蛇不断地吃食物,蛇身逐渐伸长,当蛇碰到蛇身和墙壁时游戏结束。 需要注意的是实际元件中,点阵的封装不尽相同,因此需要测试出每个引脚的功能,以便正确连线。注意,每个像素点的额定电压在3v左右,电压过大将会彻底损坏。 三、系统软件设计 软件方面采用了C51编写代码,代码编写模块如下图: 核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码,先定义游戏的数据结构和常量。其中食物的数据结构采用结构体定义,两个unsigned char变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为20的数组,游戏中贪吃蛇长度达到39,游戏通关结束。 游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要实现的功能包括以下四个方面,即移动、食物、死亡和加速。 1、移动

相关主题
文本预览
相关文档 最新文档