当前位置:文档之家› 嵌入式课设(贪吃蛇游戏)需求分析报告

嵌入式课设(贪吃蛇游戏)需求分析报告

嵌入式课设(贪吃蛇游戏)需求分析报告
嵌入式课设(贪吃蛇游戏)需求分析报告

嵌入式系统课程设计需求分析报告

设计题目:贪吃蛇游戏

组长:崔平平(14201111)

组员:孙明峰(14201110)

南昌航空大学软件学院

目录

1引言 (1)

2任务概述 (2)

3数据描述 (2)

4功能需求 (3)

5性能需求 (9)

6运行环境描述 (9)

7其他需求 (10)

1引言

?编写目的

本文档为《贪吃蛇游戏》的需求分析说明书,主要对游戏的功能、界面进行了相关的分析,并确定了数据,包括静态数据和动态数据。与此同时,对关键功能的

流程进行了针对性分析,保证了之后开发的正常进行。

?项目背景

开发人员:崔平平,孙明峰。

开发单位:南昌航空大学软件学院142011班

委托人:南昌航空大学软件学院黄东剑老师

说明:该系统为142011班崔平平和孙明峰原创作品

?名词解释

LCD:液晶显示器,兼容多种LCD,可采用5 寸256 色屏或8 寸16bit 真彩屏,同时预留一个24bit 接口。可以支持板外8bit 或24bit 屏。

Frame:游戏界面

?参考资料

[1] 马忠梅《ARM9嵌入式系统设计——基于S3C2410与Linux(第3版)》

北京航天航空大学出版社北京2015年5月第3版

[2] 刘伟. 设计模式[m].北京:清华大学出版社,2012

[3] 马忠梅《ARM&Linux嵌入式系统教程》

北京航天航空大学出版社北京2014年

[4] 王田苗. 《嵌入式系统设计与实例开发——基于ARM微处理器与

μC/OS-II实时操作系统(第3版) 》清华大学出版社北京2008年1月第3版

[5] API函数. pdf ---------------华大嵌入式实验资料2010年4月

[6] UP-NETARM3000说明书. pdf ------华大嵌入式实验资料2010年4月

2任务概述

?目标

向用户提供简单的贪吃蛇游戏,在LCD上显示图形界面,按键控制蛇的运行,数码管倒计时和计分,并且设有不同的关卡,管卡之间的区别是障碍物的设置。与

此同时,游戏设有三种难度,难度越高则移动速度越快。

?假定与约束

开发期限:三周

?任务分工及开发计划

本软件是一个简单的小游戏,开发游戏的工作重点分为移动,食物的产生,不同关卡地图、障碍物的绘制,判断蛇是否吃到食物,判断游戏是否结束(多个条件,

满足其一即可,如:碰到边界、倒计时结束、碰到障碍物、碰到自身)以及最高分

的保存。

崔平平:障碍物判断、食物判断、保存得分、首尾接触判断

孙明峰:计分并显示、倒计时(数码管)、墙壁判断

公共部分:游戏界面、产生食物、障碍物绘制、移动

3数据描述

数据分为静态数据和动态数据。所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长一段时间内不会变化,一般也不会随着运行而改变,所谓动态数据,包括所有在运行中要发生变化的数据,以及在运行中要输入、输出的数据。

?静态数据

界面:framelength、framewidth,background

Node:width,length,代表地图(22*22)中的一小格

蛇:size,point(x,y),life //蛇由node组成,size是node的个数

食物:location(x,y),yes

历史最高分:historyscore(从文件读取)

移动:dicraction =4(下)6(上)1(右)9(左)5(暂停)0(结束)

Lowdistance,distance,highdistance(每秒移动的距离由难度决定) 难度:rank

倒计时:gametime=60

初始分数:score=0

障碍物:地图由二维数组确定,1则代表障碍物,规定障碍物的颜色为红色

地图:map1[][] map2[][]

控制:菜单F,进入游戏B,重新开始E ,难度选择5

?动态数据

难度选择:inputrank(9易5中1难)

控制:inputdicraction

历史最高记录:goal(写入文件)

食物的位置:struct {x,y,yes},随机数产生

4功能需求

?流程图

任务一:键盘监听,等待键盘信息【键盘】

任务二:界面、游戏操作(包括蛇的移动、结束判断、食物判断),游戏控制(新的游戏、暂停等),【LCD】

任务三:更新数码管的倒计时和分数【数码管】

图4-1描述的是程序任务切换流程,具体如下

图4-2描述的是程序的主要流程,具体如下

图4-2

功能划分

(1)记分(数码管)

具体得分为每吃到一个食物得分+1

(2)倒计时(数码管)

每关只有一分钟的时间,如果时间到还未通过本关卡,则游戏结束;进入新的关卡则重新开始倒计时。

(3)图形界面(LCD)

1>难度选择(移动速度)

显示可选择的难度,以及该难度的历史最高分,根据用户的输入选择难度,并设置游戏中蛇移动的速度(每秒移动的距离)

输入2,易

输入3,中

输入7,难

2>不同关卡的障碍物设置(五关)

第一关:无障碍物

第二关:界面正中间有一个正方形障碍物

3>初始化

贪吃蛇的图形实现,包括初始形状、节数(长度),位置

4>食物的设置

设置食物的大小以及位置、以及是否生成

(4)保存不同难度的历史最高分(txt文件存储)

游戏结束后判断得分是否大于文件中该难度的最高分,若大于则更新,并对用户给出提示,否则不更新。

(5)移动

通过键盘控制蛇的移动

(6)判断

1>碰到墙壁

碰到墙壁时,游戏结束,显示最终得分。

2>碰到障碍物

碰到障碍物时,游戏结束,显示最终得分。

3>首尾相碰

首尾相碰时,游戏结束,显示最终得分。

4>倒计时结束

倒计时结束时,游戏结束,显示最终得分。

5>碰到食物

碰到食物时,蛇的长度增加,分数增加,判断当前得分是否通过本关,通过

则进入下一关,否则产生新的食物。。

功能描述

对最底层的功能所要完成的功能进行详细描述,填入下表中:

数据与功能的对应关系

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

辽宁科技大学课程设计说明书 设计题目:基于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/e313256658.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

贪吃蛇游戏开发设计

广州商学院 课程论文题目:贪吃蛇游戏开发设计 课程名称面对对象程序设计 考查学期2016/2017学年第 1学期姓名陈思明李权康 学号201506110047 201506110044 专业计算机科学与技术 指导教师包汉宗

移植性和平台无关性等优点,得到了广泛地应用,它以其友好的开发界面、强大的组件支持等优点,得到广大程序员的 接受和认可。 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java技术,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,四个类模块,实现了游戏的开始、暂停、结束。通过本游戏的开发,达到学习Java技术和熟悉 软件开发流程的目的。 关键词:贪吃蛇,Java,游戏

一、可行性分析 1.1经济可行性 游戏开发至今已经有30多年,在这个短暂的时期里,随着硬件的水平的提高。游戏开发新技术层出不穷,经典游戏比比皆是,游戏这个名称一直存在于每个人的日常生活中。因此,游戏对于现代人的成长历程,绝对是一个不可或缺的重要角色.而从技术方面来看,现在的java技术也融入了手机中。这些都为开发的这款贪吃蛇游戏提供了条件。 1.2技术可行性 本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。 由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。

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

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固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();//图形驱动

贪吃蛇小游戏需求分析

“贪吃蛇”游戏需求分析 一、需求分析: 贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。 具体需求概要如下: 1.初始化游戏界面为600*600大小,并于坐标为(250,250) 处显示游戏名称“贪吃蛇”,等待鼠标响应以开始游戏; 2.在程序中用格子初始蛇长及蛇的位置,用W、S、A、D控制方 向为上下左右进行游戏。游戏过程中,每吃到一次食物用For 循环使蛇移动的speed增加,分数加10,蛇长加一格; 3.蛇头咬到蛇尾or蛇头接触活动区域外围则Game over,显示 累计分数,游戏结束。 二、运行环境: 该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C++平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下:操作系统:windows xp 软件环境:安装VC++6。

三、设计概要: 1.初始化模块:屏幕初始化,屏幕初始化用于显示游戏信息“贪吃蛇”; 2.游戏界面模块:设计绿色的边框,边框内用黑色无框格子填充作为游戏活动区域; 3.游戏运行模块:运用函数控制蛇长及食物的关系,并使用键盘控制方向; 4.判断模块:头咬到尾或头接触活动区域外围,则游戏结束,显示累计分数。 四、详细设计及实现: 1.流程图(函数调用关系图)

2.预处理 #include<> #include<> #include<> #include<> #include<> #include<> 3.数据结构 IMAGE wal; MOUSEMSG m; typedef struct { int x[40]; int y[40]; int derection; int food; int foodx; int foody; int size; } snake;

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

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;

贪吃蛇设计文档.doc

贪吃蛇游戏的设计文档 目录 一、需求分析 ................................................. 错误 ! 未定义书签。1.功能需求 . .............................................. 错误 ! 未定义书签。 2.非功能需求 错误 ! 未定义书签。 . ............................................ 二、系统设计 ................................................. 错误 ! 未定义书签。 1. 实际思路 . ............................................... 错误 ! 未定义书签。2,结构设计 . .............................................. 错误 ! 未定义书签。 (1), main(), 主函数; . ................................ 错误 ! 未定义书签。 (2), init() , 图形化驱动函数 . ......................... 错误 ! 未定义书签。 (3), help(), 帮助信息函数 . ............................ 错误 ! 未定义书签。 (4), drawfence(), 周围墙壁函数 . ....................... 错误 ! 未定义书签。 (5), printscore(), 得分显示函数 . ...................... 错误 ! 未定义书签。 (6), playgame(), 游戏控制函数 . ........................ 错误 ! 未定义书签。 (7), gameover(), 游戏结束函数 . ........................ 错误 ! 未定义书签。 (8), closegraph(), 关闭图形驱动函数 ................... 错误 ! 未定义书签。 三、系统实现 ................................................. 错误 ! 未定义书签。 1, help() 函数流程图 . ...................................... 错误 ! 未定义书签。 2, drawfence() 函数流程图 . ................................. 错误 ! 未定义书签。 3, printscore() 函数流程图 . ................................ 错误 ! 未定义书签。 4, playgame() 函数流程图 . .................................. 错误 ! 未定义书签。 5, gameover() ,游戏结束函数 . .............................. 错误 ! 未定义书签。 四、系统测试 ................................................. 错误 ! 未定义书签。

java课程设计贪吃蛇游戏设计

前言 Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景。于是改造了Oak,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

贪吃蛇项目开发计划书

项目编号:S×××-贪吃蛇 分类: <模板> 使用者: <项目组> 文档编号: HD-PP-310 四川华迪信息技术 有限公司 项目计划 Version: 1.0 项目承担部门:计算机班第六小组 撰写人(签名):许明华(负责人)、黄程、廖浩杰 完成日期: 2016年7月18日星期一 本文档使用部门:□主管领导□项目组□客户(市场)□维护人员□用户 评审负责人(签名): 评审日期:

修订文档历史记录

目录 1.前言5 1.1目的5 1.2术语与缩略语5 2.项目概述5 2.1项目背景和目标5 2.2项目范围6 2.3交付的产品错误!未定义书签。 2.4约束和假设6 3.角色和职责6 3.1利益相关人角色和职责6 3.2有关的利益相关人介入计划错误!未定义书签。 4.项目约定错误!未定义书签。 5.项目的已定义过程错误!未定义书签。 5.1项目的生命周期选择错误!未定义书签。 5.2项目阶段划分及主要工作产品7 5.3本项目采用的过程错误!未定义书签。 5.4裁剪结论错误!未定义书签。 6.工作任务分解8 7.项目估计错误!未定义书签。 8.项目所需技能和培训计划错误!未定义书签。 8.1项目所需技能错误!未定义书签。 8.2项目培训计划错误!未定义书签。 9.项目相关计划8 10.开发计划错误!未定义书签。 10.1项目监控计划错误!未定义书签。 10.1.1活动列表错误!未定义书签。 10.1.2改进指标错误!未定义书签。 10.1.3偏差控制(项目计划变更与重估计约定)错误!未定义书签。 10.2风险管理计划错误!未定义书签。 10.3度量与分析计划错误!未定义书签。 10.4质量保证计划错误!未定义书签。 10.5配置管理计划错误!未定义书签。 10.6系统测试计划9 10.7介入计划错误!未定义书签。 10.8数据管理计划错误!未定义书签。 10.9项目培训计划错误!未定义书签。 10.10需求管理计划错误!未定义书签。

贪吃蛇的设计与实现

《项目工程实践》课程结题报告 课题名称贪吃蛇的设计与实现 分数 日期:__2015__年_5_月_20_日

目录 目录 (2) 一、需求分析 (3) 二、概要设计 (3) 三、逻辑设计 (6) 四、应用程序 (10) 五、测试...................................................................................... 错误!未定义书签。 六、部分源程序代码

一、需求分析 本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求: (1) 利用方向键来改变蛇的运行方向。 (2) 空格键暂停或继续游戏,并在随机的地方产生食物。 (3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 二、概要设计 (1)游戏处理流程。 本次游戏处理流程如图1所示。 图 1 游戏流程设 计 进入游戏画面 单机“begin ”按钮,游戏 开始,蛇开始随即出现 键盘操作: “左移” “右移” “向下” “向上” 没有吃到实物且蛇碰到边界或者自身 游戏中途欲退出, 游戏结束 单击游戏界面上的“×”

(2)功能模块设计。 软件开发过程中的功能模块设计,主要解决实现该游戏需求的程序模块设计问题。包括如何把该游戏划分成若干个模块,决定各个模块之间的接口、模块之间传递的信息,以及模块结构的设计等。 (3)游戏功能 本系统主要完成一下几个方面的功能: 1. 游戏控制功能——包括游戏的开始、暂停、退出 2. 界面布局 3. 其他辅助功能 (4)总设计模块的划分 根据游戏游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。 (5)游戏煮界面模块 游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游戏的退出按钮。游戏界面主框架的主要结构如图3所。 贪吃蛇游戏 游戏主界面模 块 游戏控制模块 图2游戏总设计模块 游戏的主界面框架 游戏图形区域界游戏控制按钮界 图3游戏主界面框架

贪吃蛇游戏程序设计

测控技术与仪器专业课程设计题单 班级0982011 学生刘某某 课程名称计算机课程设计 课题贪吃蛇游戏程序设计 设计要求 1.学习游戏设计有关知识。 2.设计贪吃蛇游戏程序。 3.调试并修改程序。 4.完成课程设计论文。 课题发给日期 2011年6月25日 课程设计完成日期 2011年7月09日 指导教师余某某 评语:

贪吃蛇游戏 学生姓名:刘某某班级:0882011 指导老师:余某某 摘要:编写C语言程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。 作为一个完整的程序,必须考虑人机交流与用户体验。游戏的界面不能太丑,更不能连个简单的界面都没有。游戏应该有个比较漂亮的界面,在有必要硬件支持和软件的支持下,游戏开发者必须最大限度的使游戏美观。游戏的美观是一方面,游戏的内在素质是另一方面。一个游戏的优劣,最终由玩家决定。在游戏与玩家见面之前,游戏开发者要设计一种让玩家投入的游戏模式,并且在一定的游戏规则下进行。 关键词:贪吃蛇流程图 c语言源程序

目录 1 前言 (1) 2 课设内容 (3) 2.1课设目的 (3) 2.2设计功能 (3) 2.3结构设计 (7) 3结论 (11) 参考文献 (15) 附录A (16)

1 前言 C语言是一种易学易懂的通用程序设计语言,由于它具有功能性强,运用简洁,灵活兼有高级语言与低级语言的优点,以及“目标程序效率高”可移植性和能在各种系统上普遍实现等特点使它成为当今世界上的主流程序设计语言之一,同时被选作目前全世界广泛应用,同时也是大学生必修的科目。作为一位当代的大学生更要很好的利用它,学好一门设计语言,实现学以至用。 制作C程序报告,可以巩固和加深自己对C语言课程的基本知识的理解和掌握,并且能够掌握C语言编程和程序调试的基本技能。 通过游戏程序的设计训练可以提高自己的基本技能,更好地掌握字符串的表示方法和字符串函数的功能、Tc图形操作的基本知识、键盘上特殊键的获取以及图形方式下光标的显示,提高自己编程兴趣与编程水平,学会如何正确的书写程序设计说明文档,提高运用C语言解决实际问题的能力,巩固C语言语法规则的理解和掌握,学会通过源程序写出流程图,提高自学以及查阅资料的能力。 C语言课程应注重边学边练,但由于课堂教学和实验的深度和广度有限,练习的深度也受到一定限制。为了弥补这一点,学校开设了本课程设计。它比教学实验复杂一些,涉及的深度广些并更加接近实用。目的是通过课程设计的综合训练,培养我们实际分析问题、编程和动手能力,最终目标是想通过这种形式,帮助我们系统地掌握程序设计的主要内容,更好地完成学业。 这次课程设计的主要特点如下: 1.函数定义是要做到顾名思义是很重要的,它对读程序的人正确认识程序 十分重要,在修改这个程序的过程中也能很快找到程序各模块的作用,大大增

贪吃蛇游戏需求分析说明书

需求分析说明书 一.引言 1.编写目的 通过与多位软件使用者进行全面深入地探讨和分析,并完成《贪吃蛇游戏》市场的前期调查后,提出了这份软件需求分析说明书。 此需求分析说明书对《贪吃蛇游戏》软件做了全面细致的用户需求分析,明确所要开发的游戏软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。 本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。 2. 背景 随着科技的发展,现在手机的功能已不仅仅是简单的打接电话、收发短信了。更多的手机用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。因此,为了迎合众多用户的需求并适应现在手机的规模,我们开发出一套适合各阶层人士的具有很强的娱乐性和交互性的贪吃蛇小游戏。 贪吃蛇,之所以取这样的名字,去用意还是很明显的.贪吃蛇其实并不贪,它是人不断向前追求的象征.就像现代的人只有不断努力向前才能得到自己想要的。而食物也是随机出现的,就像现在社会存在的机会,而我们只有找好自己的目标才能成功。 虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇其市场还是相当大的。因为它的特殊在于它能吸引人更深入,爱不释手.随着游戏速度不断加快,其刺激性也更强。可以说该游戏的优势在于它的简单易行,不论是手机,还是小游戏机,都能很快顺利的运行。对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的。这样的小游戏刚好迎合了他们的需求。 3. 定义 需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。而且其很强的交互性及简单易行性,可以让人在很短时间内熟悉它的游戏规则,不论用户文化水平如何,都会很轻松的学会使用它。 4. 参考资料 张海藩:《软件工程导论》清华大学出版社 2008年2月第五版

基于labview的贪吃蛇游戏程序设计

成绩评定表

课程设计任务书

目录 1 目的及基本要求 0 本程序是基于常看到的一款小游戏贪吃蛇而设计的,即有一条小 蛇不停地在屏幕上游走,吃各个方向上出现的苹果(姑且称它为 “苹果”),越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的 身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作的一款完整的迷你贪吃蛇游戏。 0 4.1 运行结果 (8)

1 目的及基本要求 本程序是基于常看到的一款小游戏贪吃蛇而设计的,即有一条小蛇不停地在屏幕上游走,吃各个方向上出现的苹果(姑且称它为“苹果”),越吃越长,只要蛇头碰到屏幕四壁或者碰到自己的身子,游戏就立刻结束。本程序基于传统贪吃蛇游戏的特点利用LabVIEW制作的一款完整的迷你贪吃蛇游戏。 熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现贪吃蛇游戏的设计和仿真。要求通过本课程设计使学生熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器设计原理、设计方法和实现技巧,使学生掌握通信系统设计和仿真工具,为毕业设计做准备,为将来的学习及今后从事科学研究、工程技术工作打下较坚实的基础。 2 贪吃蛇游戏设计原理 贪吃蛇游戏大体上可分为以下几个部分: 1) 控制部分就是通过输入输出来控制蛇的运动 2) 逻辑部分进行判断蛇吃了没有是否撞墙同时把蛇的长度增加一节还要实现分数的计算 3) 图象显示部分就是将游戏显示出来 本程序的主要实现如下功能:1.小蛇在屏幕上不停的游走;2.用键盘方向键可控制小蛇的移动方向;3.吃过一个苹果后小蛇长度增加并随机产生另一个蛋; 4.小蛇碰到四壁或者碰到自己的身体时游戏结束并给出得分和提示是否继续; 5.游戏可以有多种难度选择等 3 贪吃蛇游戏设计与仿真 3.1 前面板设计 采用LabVIEW中提供的“Express XY图”作为游戏界面,显示蛇和苹果,这样就可以通过方向键来移动小蛇到想要去的地方。对XY图的属性做如下修改:

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

电气与信息工程学院 单片机课程设计报告 一、设计任务及要求 基本功能: 制作一个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、移动

游戏基础课程设计

枣庄学院 信息科学与工程学院课程设计任务书题目:贪吃蛇游戏的设计与开发 专业:计算机多媒体技术专业 课程:游戏基础 姓名: 姓名: 姓名: 指导教师:孙晓飞职称:助教 完成时间:2013年12 月----2014年1 月 枣庄学院信息科学与工程学院制 2013年12月29日

课程设计任务书及成绩评定

目录 引言 (5) 1.工作计划 (5) 1.1 主要任务阶段划分 (5) 1.2 工作任务分工 (5) 2.需求分析 (6) 2.1 概述 (6) 2.2 用户分析 (6) 2.3 约束条件 (6) 2.4 功能需求 (6) 2.5 用户界面需求 (7) 3.设计与实现 (7) 3.1 概述 (7) 3.2 详细设计 (7) 3.2.1类的抽象与设计 (7) 3.3 主要程序文件 (8) 3.4开发环境以及部署环境要求 (10) 3.5主要源码 (10) 4.测试 (14) 4.1 概述 (14) 4.2 测试环境 (14) 4.3 测试计划 (14) 4.4测试项目及结果 (14) 5.工作总结 (15) 5.1 工作成果 (15) 5.2 过程分析 (15) 5.3 经验教训及其分析 (15)

引言 由于传统的贪吃蛇只是在一个宽阔的用户区进行游戏。对于蛇只是在区域四周有障碍墙壁,这样也许在一开始不会有太大的难度和成就感。 又由于人们曾经也钟爱一种迷宫游戏,它主要是考察玩家的观察力,看能否在最短的时间里走出迷宫。 基于以上两个游戏,我们准备利用本学期学到的windows界面程序设计方法将两个游戏有机结合起来,使用户既能体验贪吃蛇中看着蛇身不断加长而绕出各种折线的成就感,又能感受到在迷宫中找寻出路的紧张心情,而且迷宫的出现使蛇遇到的障碍遍布游戏区,这样用户就更能展示一下自己操作的高水平。 1 工作计划 1.1主要工作阶段划分 1.2工作任务分工

贪吃蛇小游戏需求研究分析

贪吃蛇小游戏需求分析

————————————————————————————————作者:————————————————————————————————日期:

“贪吃蛇”游戏需求分析 一、需求分析: 贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。 具体需求概要如下: 1.初始化游戏界面为600*600大小,并于坐标为(250,250) 处显示游戏名称“贪吃蛇”,等待鼠标响应以开始游戏; 2.在程序中用格子初始蛇长及蛇的位置,用W、S、A、D 控制方向为上下左右进行游戏。游戏过程中,每吃到一次 食物用For循环使蛇移动的speed增加,分数加10,蛇长 加一格; 3.蛇头咬到蛇尾or蛇头接触活动区域外围则Game over, 显示累计分数,游戏结束。 二、运行环境: 该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C++6.0平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下:操作系统:windows xp 软件环境:安装VC++6。

三、设计概要: 1.初始化模块:屏幕初始化,屏幕初始化用于显示游戏信息“贪吃蛇”; 2.游戏界面模块:设计绿色的边框,边框内用黑色无框格子填充作为游戏活动区域; 3.游戏运行模块:运用函数控制蛇长及食物的关系,并使用键盘控制方向; 4.判断模块:头咬到尾或头接触活动区域外围,则游戏结束,显示累计分数。 四、详细设计及实现: 1.流程图(函数调用关系图)

【计算机软件毕业设计】基于Android的贪吃蛇小游戏

河北农业大学 本科毕业论文 题目:贪吃蛇小游戏 1.导论 (1) 1.1 Android简介 (1) 1.1.1 Android的发展 (1) 1.1.2 Android系统的特点 (2) 1.1.3 Android的系统架构 (2) 1.2 项目简介 (3) 1.3 项目背景与意义 (3) 1.3.1 开发背景 (3) 1.3.2 开发意义 (3) 1.4 国内外现状分析 (4) 1.4.1 国内外手机系统现状 (4) 1.4.2 国内外手机应用现状 (5) 1.4.3 发展趋势 (5) 2. 系统的开发方法及相关技术 (7) 2.1 软件工程的定义 (7) 2.2 软件工程的模型 (7) 2.3 本项目的研究方法 (7) 2.3.1 本项目采用的开发模型 (8) 2.3.2 本项目的开发方法 (8) 2.4 开发工具及环境简介 (9) 2.4.1 开发工具eclipse简介 (9) 2.4.2 开发环境简介 (10) 3. 需求分析 (11) 3.1系统开发目标 (11) 3.2 系统需求分析 (11) 3.2.1 业务需求分析 (11) 3.2.2 用户需求分析 (11) 3.2.3 功能需求分析 (12) 4 概要设计 (13)

4.1 程序流程设计 (13) 4.2模块设计 (13) 4.2.1 模块划分 (13) 4.2.2 游戏主界面模块 (14) 4.2.3 游戏控制模块 (14) 4.2.4 游戏数据模块 (15) 4.3 模块实现原理 (15) 4.3.1游戏界面模块实现 (15) 4.3.2 游戏控制模块实现 (16) 4.3.3 数据存储模块实现 (17) 5.详细设计 (18) 5.1 游戏类图 (18) 5.2 游戏界面具体实现 (18) 5.2.1 蛇身、食物和墙的实现 (18) 5.2.2 处理键盘事件 (19) 5.2.3 TileView类的设计 (19) 5.2.4 SnakeView类的设计 (19) 5.2.5 Snake类的详细设计 (19) 5.2.6 程序主结构 (20) 5.3 游戏运行界面截图 (20) 结论 (22) 参考文献 (23) 致谢 (24)

基于java的贪吃蛇游戏开发

贪吃蛇大战的设计与实现 专业: 姓名: 班级: 学号: 指导教师:

目录 前言 (4) 1.JAVA语言的概述及开发工具 (4) 1.1Java语言特点 (4) 1.1.1 平台无关性 (4) 1.1.3面向对象 (5) 1.2 J2ME介绍 (5) 1.3 关于ECLIPSE (6) 1.4 WTK介绍 (6) 2.需求分析 (7) 2.1游戏的介绍 (7) 2.2游戏开发的可行性 (7) 2.3设计目的 (7) 2.4游戏需求 (7) 2.4.1游戏界面需求 (8) 2.4.2游戏形状需求 (8) 2.4.3键盘事件处理 (8) 2.4.4显示需求 (8) 2.4.5接口控制 (8) 2.4.6环境介绍 (8) 3.详细设计 (9) 3.1 绘制蛇身 (9) 3.2创建初始“蛇”及“蛇”的移动 (9) 3.3 吃掉食物,蛇身增长 (10) 3.4随机产生食物 (10)

3.5键盘事件处理 (11) 3.6 判断游戏结束 (12) 4游戏测试与发布 (13) 4.1游戏运行的效果图 (13) 4.2 测试结果 (13) 5.自我评价和总结 (13) 5.1遇到的问题及解决办法 (13) 5.2 总结 (14) 6.参考资料 (14)

前言 随着3G的到来,让人们的目光聚集到一个新兴的互联网终端——手机上。手机的随身性让玩家有了随时随地完游戏的可能。据我调查行业分析师也对这一行业持普遍的乐观态度。yramid Researcher 的最新报告显示,手机游戏市场正在稳步发展。用户数从2008年的1.83亿到现在将增长到3亿。据报告分析,2014年,市场规模有望达到180亿美元。 手机游戏的发展有以下推动因素 1.更好更快的无限网络以及易于操作的手机终端改善了用户 的体验; 2..触摸屏,3D动画处理能力以及在线互动能力让游戏开发游 戏做的更好; 3.苹果应用商店模式刺激作用。 J2ME是一种针对移动电话和PDA这样的小型设备的Java语言。大部分的手机厂商都迫切希望Java手机推广应用。上千万的手机已经到了消费者手中。它已经极大的提高了移动电话支持游戏的能力。它有着比SMS或W AP 更好控制的界面。允许使用子图形动画。并且可以通过无限网络连接到远程服务器。支持Java的手机的普及,所以目前它成为最好的移动游戏开发环境。J2ME不是手机上配置的唯一解释语言,但是它是许多厂商支持的行业标准。一些专用的解释语言也在某些区域有上着上佳的表现。如北美的Qualcomm的BREM 和一些韩国运营上支持的名为GVM的标准。 基于以上分析,Java手机游戏的开发具有重要的意义。 1.Java语言的概述及开发工具 1.1Java语言特点 1.1.1 平台无关性 Java引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java 接口。Java的数据类型与机器无关。 1.1.2安全性

贪吃蛇游戏设计报告

贪吃蛇游戏设计 班级:13级7班 学号: 姓名: 一、实验目的 1.熟练掌握C6713 的中断结构和对中断的处理过程。 2.熟练掌握C6713 定时器的控制和使用方法。 3.熟练掌握键盘的使用原理及编程方法。 4.熟练掌握使用C6713DSP的扩展空间控制外围设备信息的方法;掌握蜂鸣器发声原理和音乐发生方法;掌握液晶显示器的显示控制原理及编程方法。 5.掌握C6713的系统自启动设计方法。 6.熟练掌握C语言开发DSP程序的流程及调试方法。 二、实验设备 计算机,ICETEK-C6713-EDU 实验箱,示波器。 三、实验内容(*号为选做内容) 1、在液晶屏上显示游戏背景、初始蛇身及运动、随机产生食物。 2、可以用键盘控制蛇身运动、暂停游戏。 3、游戏烧写到FLASH内,可以上电自启动运行。 四、设计原理 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个按键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体叉蛇头撞倒自

己身体游戏结束。 要想实现贪吃蛇功能,需要应用到键盘,按键中断,和液晶显示。想要正常使用按键,就要调用包含于有文件"ICETEK-C6713-A.h"中的init_emif();和InitCTR();程序用来初始化emif和ICETEK-CTR。 中断原理:dsp有三种类型的中断cpu的TMS320C6000:重置、可屏蔽的、不可屏敝的复位中断优先级最高,对应于复位信号。不可屏蔽中断优先级最高,对应于第二敝中断信号。最低优先级中断中断4?15对应INT4?INT15信号。重置,敝中断,一些INT4?INT15信号映射到C6000设备上的别针。一些INT4?INT15中断信号是内部使用的外设和一些可能不可用或在软件的控制下可以使用。 外中断区别于计时器等片内设备中断,它来源于DSP 片外,属于硬件中断。外中断信号通过DSP 器件封装上的专用管脚输入DSP,属于可屏蔽中断。TMS3206713DSP 有三个外中断:EXT_INT4~EXT_INT7,如果CPU 允许,这四个信号线上的低脉冲信号会中断CPU。 中断是为使CPU 具有对外界异步事件的处理能力而设置的。通常DSP 工作在包含多个外界异步事件环境中,当这些事件发生时,DSP 应及时执行这些事件所要求的任务。中断就是要求CPU 暂停当前的工作,转而去处理这些事件,处理完成后,再回到原来被中断的地方继续原来的工作。显然,服务一个中断包括保存当前处理现场,完成中断服务,恢复各寄存器和现场,然后返回继续执行被暂时中断的程序。请求CPU 中断的请求源称为中断源。这些中断源可以是片内的,如定时器等,也可以是片外的,如A/D 转换及其他片外装置。片外中断请求连接到芯片的中断管脚,并且在这些管脚处的电平上升沿产生。如果这个中断被使能,则CPU开始处理这个中断,将当前程序流程转向中断服务程序。当几个中断源同时向CPU 请求中断时,CPU 会根据中断源的优先级别,优先响应级别最高的中断请求。TMS320C6000 有11 个寄存器管理中断服务: *控制状态寄存器CSR 控制全局使能或禁止中断 *中断使能寄存器IER 使能或禁止中断处理 *中断标志寄存器IFR 指示有中断请求但未被响应的中断发生 *中断设置寄存器ISR 手动设置IFR 中的标志位 *中断清除寄存器ICR 手动清除IFR 中的标志位 *中断服务表指针ISTP 指向中断服务表的起始地址 *不可屏蔽中断返回指针NRP 包含从不可屏蔽中断返回的地址,该中断返回通过B NRP指令完成

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