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

合集下载

项目实践报告模板(贪吃蛇)

项目实践报告模板(贪吃蛇)

1系统设计要求1.1需求分析本系统为一个用C#实现, 用类和GDI+完成一个贪吃蛇游戏软件,该系统的具体功能如下:(1).控制蛇的运动方向:用键盘上的↑.↓.←.→控制蛇的运动方向。

若在游戏中,蛇头碰墙或是自己的身体,则游戏结束。

(2).蛇吃食物:蛇每吃一个食物就增长一节,并且得分,加相应的分值,达到一定的分值游戏上升一个级别。

(3).游戏结束:如果在游戏过程中,蛇头碰墙或是碰到了自己的身体,则游戏结束。

速度:玩家可以自己选择游戏速度1.2界面要求+要求界面简洁美观,简单易用。

1.3设计环境本程序选择Visual Studio 2005作为实验环境。

2设计思路2.1系统分析(1). 明确贪吃蛇的游戏规则(2). 将panel控件设为游戏背景。

(3). 场地.贪吃蛇及食物都是在panel 控件的重绘中绘制。

绘制蛇身的好处是在贪吃蛇进行移动时,不需要重绘制背景。

(4).用Timer组件来实现贪吃蛇的移动,并且该组件的Interval属性来控制移动速度。

2.2概要设计2.根据设计思路,可以为系统设计,.四个类,一个豆类,一个块类,一个蛇类,和一个场地类。

豆(Bean)类的作用:是在特定的位置生成一个豆,豆要不断被吃掉,当豆被吃掉后,原豆消失,又在新的位置出现新的豆。

块(Block)类的作用:用来构成蛇,在蛇出现时,要把构成蛇的块一个个输出(显示),在蛇消失时,要把块消除掉。

蛇(Snack)类作用:组成蛇,如果蛇吃了豆就增长一块,蛇死亡后要消除块。

在蛇运行过程中,判断是否碰到自身,判断是否死亡。

场地(Floor)类作用:游戏的主场地,豆要在此范围出现,蛇要在此范围运行。

3系统功能模块图3.1功能模块图3.2程序流程图定义新块bb定义并实例化点P(vertex.X+25,vertex.Y+25)实例化blockList[count]定义i=0i<=count是否成立块添加到blockList中i=i+1HeadNumber=count3.3类的结构图4调试过程生成块和豆的调试过程:运行程序,在画布上随机生成块和豆,如果无法生成块和豆就应该检查其随机生成函数,调整其相关函数.运行程序,生成不同大小和颜色的豆和块.蛇类的调试过程:运行程序在画布上随机生成蛇,如果无法随机生成蛇应查看生成蛇的相关函数,如随机生成函数,如果蛇只增不减少应查看显示蛇的方法里的移出函数.更该相关的函数后运行函数,控制蛇的运行方向以及测试蛇类的各项功能.场地类的调试过程:运行程序,初始化场地,如果无法生成场地,检查显示场地的方法,然后运行程序,测试蛇类的各项功能.主游戏的调试过程:运行程序,如果"级别"菜单的级别无法生效,就应该检查属性的click事件,是否把级别控制添加到click事件中。

贪吃蛇游戏-需求分析文档

贪吃蛇游戏-需求分析文档

需求分析
一要解决的问题
我们设计的这个贪食蛇小游戏应该有以下几个功能:
1 要求有比较友好的界面,界面应该包括得分显示,游戏状态(运动,暂停,结束),游戏难易程度显示(容易,较难,困难),关于游戏(包括教初玩者如何操作,及游戏规则)。

另外,在界面显示的效果应该简洁大方,尽量能够很快吸引玩者。

2 当游戏刚开始的时候,先应该产生一条蛇和随机产生一个食物。

当按某个键的时候,蛇就开始移动,按照按键的方向运动。

3 蛇可以运动,随着难易程度的不同,蛇的速度也不同;在界面里可以随机产生一个食物,但应该注意不能和蛇身体一致,然后当蛇就移动然后吃掉这个食物(覆盖),然后蛇的身体应该相应地增加,同时界面中显示分数一栏应该相应地增加分值;当蛇在移动的过程中头部碰到墙壁,游戏结束。

二提出的要求
1 按键的时候可以控制蛇移按照设置的方向移动;
2 当选择游戏的难易程度不同时,蛇体的速度应该也是不同的;
3 当游戏开始时候,应该有一个初始化,设置蛇身,食物等;
4 当游戏结束时,会有相应的处理,比如提示;
三可以实现的要求
1 简单友好的界面
2 蛇的移动和控制
3 对蛇的状态的监听,及对得分的显示;
4 蛇的状态的变化
四应该有的对象及其他们之间的关系
1 Game对象
2 Wall对象
3 Snake对象
4 Food对象
它们之间的关系:Game对象中应该包括其他三个对象;Snake对象和Food对象应该有相同的形状。

这几个对象差不多可以反映上面的要求。

五关键点
该游戏最关键的地方应该是:
1 在监听蛇的状态的方法实现并处理;
2 蛇的运动算法实现过程;。

贪吃蛇测试分析报告

贪吃蛇测试分析报告

贪吃蛇测试分析报告一、引言贪吃蛇作为一款经典的游戏,其简单的规则和有趣的玩法深受玩家喜爱。

为了深入了解贪吃蛇游戏的性能和用户体验,我们进行了一系列的测试,并在此基础上形成了这份测试分析报告。

二、测试环境1、硬件环境测试设备:_____手机处理器:_____内存:_____屏幕分辨率:_____2、软件环境操作系统:_____游戏版本:_____三、测试目标本次测试的主要目标包括以下几个方面:1、评估游戏的稳定性和流畅性,是否存在卡顿、闪退等问题。

2、检验游戏的操作响应速度,判断操作是否及时准确。

3、分析游戏的难度设置是否合理,是否能满足不同玩家的需求。

4、考察游戏的画面和音效质量,对用户体验的影响。

5、探究游戏的可玩性和趣味性,是否能吸引玩家持续投入。

四、测试方法1、手动测试通过人工操作游戏,模拟不同的游戏场景和玩家行为,观察游戏的表现。

2、自动化测试使用专业的测试工具,对游戏进行性能监测和数据分析。

五、测试结果1、稳定性和流畅性在长时间的游戏过程中,未出现明显的卡顿现象,但在游戏分数较高、蛇身较长时,偶尔会出现轻微的帧率下降。

经过多次重复测试,未发生闪退情况,游戏的稳定性较好。

2、操作响应速度玩家的操作能够及时在游戏中得到响应,方向控制的灵敏度适中,没有明显的延迟。

3、难度设置游戏的初始难度较低,适合新手玩家上手。

随着分数的增加,蛇的移动速度逐渐加快,难度逐渐提升,具有一定的挑战性。

然而,对于一些资深玩家来说,可能会觉得难度提升的速度不够快,缺乏足够的挑战性。

4、画面和音效游戏画面简洁清晰,色彩搭配协调,蛇身和食物的设计较为醒目。

音效方面,背景音乐轻松愉悦,但相对较为单一,长时间游戏可能会产生听觉疲劳。

5、可玩性和趣味性游戏的基本玩法具有一定的趣味性,能够吸引玩家在短时间内投入。

但游戏模式较为单一,缺乏创新性的玩法和元素,可能会影响玩家的长期留存。

六、问题分析1、性能优化针对帧率下降的问题,需要进一步优化游戏算法,减少资源占用,提高游戏的运行效率。

贪吃蛇实验报告

贪吃蛇实验报告

贪吃蛇实验报告1. 引言贪吃蛇是一种经典的游戏,通过控制蛇的移动方向,吃掉食物来增长身体长度。

在本实验中,我们将实现一个贪吃蛇游戏,并对不同算法进行比较,以探讨最优的游戏策略。

2. 实验目的本实验的目的有以下几点:1.实现一个基于命令行的贪吃蛇游戏。

2.探讨不同的贪吃蛇算法,并比较其效果优劣。

3.分析贪吃蛇游戏的设计思路和实现细节。

3. 实验方法3.1 游戏实现使用Python编程语言,利用面向对象的思想实现贪吃蛇游戏。

游戏主要包括蛇的移动、食物随机生成、蛇身体增长等基本功能。

3.2 算法比较我们将比较以下两种贪吃蛇算法:1.贪心算法:每一步都选择离食物最近的方向。

2.最短路径算法:使用最短路径算法计算出到达食物的最短路径,并选择下一步的移动方向。

4. 实验结果在实际运行贪吃蛇游戏时,我们进行了以下几个实验:4.1 实验一:贪心算法在贪心算法中,蛇会选择离食物最近的方向进行移动。

我们对贪心算法进行了100次实验,并记录了每次游戏的得分。

结果显示,在100次实验中,贪心算法的平均得分为200。

4.2 实验二:最短路径算法最短路径算法使用最短路径计算来选择下一步的移动方向。

我们同样进行了100次实验,并记录了每次游戏的得分。

结果显示,在100次实验中,最短路径算法的平均得分为350。

5. 结论通过对贪心算法和最短路径算法的比较,我们可以得出以下结论:1.最短路径算法相对于贪心算法更加优越,其平均得分更高。

2.由于最短路径算法的计算复杂度较高,可能导致游戏运行速度变慢。

在进一步研究中,可以尝试更复杂的贪吃蛇算法,并优化算法的实现,以提高游戏的表现和用户体验。

6. 参考文献1.Python官方文档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.流程图(函数调用关系图)#include<stdio.h> #include<stdlib.h> #include<graphics.h> #include<dos.h> #include<conio.h> #include<time.h>3.数据结构 IMAGE wal; MOUSEMSG m;typedef struct {int x[40]; int y[40];int derection;int food; int foodx; int foody; int size; } snake;4.全局变量int score=0,speed=300;5.函数声明 void init(void); void wall(void); void food(void); void gameover(void); int food1(void); void snakes(void); void draw(void);6.算法设计 main 函数: 具体实现程序功能。

贪吃蛇游戏课程设计报告

贪吃蛇游戏课程设计报告

贪吃蛇游戏课程设计报告贪吃蛇游戏程序设计一、课程设计任务贪吃蛇小游戏程序设计二、设计要求通过游戏程序设计,提高编程兴趣与编程思路,巩固C 语言中所学的知识,合理的运用资料,实现理论与实际相结合。

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

3.2、设计思想程序关键在于透露表现蛇的图形及蛇的挪动。

用一个小矩形快透露表现蛇的一节身材,身材每长一节,增加一个矩形块,蛇头用俩节透露表现。

挪动时必须从蛇头动手下手,以是蛇不克不及向相反的偏向挪动,假如不按随便键,蛇自行在当火线向上前移,但按下有效偏向键后,蛇头朝着该偏向挪动,一步挪动一节身材,以是按下有效偏向键后,先肯定蛇头的位置,尔后蛇的身材随蛇头挪动,图形的完成是从蛇头新位置动手下手画出蛇,这时分,因为未清屏的缘故原由,原先的蛇的位置和新蛇的位置差一个单元,以是看起来蛇多一节身材,以是将蛇的末了一节用背景色掩盖。

食品的呈现与消失也是画矩形块和掩盖矩形块。

为了便于理解,界说两个布局体:食品与蛇。

3.3、流程图动手下手初始化界面和蛇身游戏者按键选择放置食物蛇开始运动蛇吃到食?Y蛇长大N蛇死亡?Y继续?N退出界面YN四、设计的具体实现(1)函数定义函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用#define N 200#define M 200#include"graphics.h"#include<XXX>#include<XXX>#include<string.h>#include<XXX>#include<dos.h>#include<XXX>#include <windows.h>#define LEFT 97//A#define RIGHT 100//D#define DOWN 115//S#define UP 119//W#define Esc 0x011bint i,key;int score=0;int gamespeed=250;//游戏速度可根据实际情况自行调解struct Food{int x;//食品的横坐标int y;//食物的纵坐标intyes;//判别是否要呈现食品的变量}food;//食品的布局体struct XXX{int x[M];int y[M];int node;//蛇的节数XXX的移动方向int life;//蛇的生命,透露表现在世,1 透露表现出生}XXX;void Init();//图形驱动void Close();//图形结束void DrawK();//开始画面XXX();//玩游戏的具体过程XXX();//游戏结束void PrScore();//输出成就(2)主函数main( )主函数是程序的支流程,首先界说利用到的常数、全局变量及函数原型申明,然后初始化图形体系,挪用函数DrawK()画出动手下手画面,挪用函数GamePlay(),即玩游戏的详细进程,游戏结束后挪用Close()封闭图形体系,结束程序void main()//主函数{Init();//图形驱动DrawK();//开始画面GamePlay();//玩游戏的详细进程Close();//图形结束}void Init()//图形驱动{int gd=DETECT,gm;initgraph(&gd,&gm," ");/*此处为turboc的路径,读者可以根据自己的电脑而改*/cleardevice();}(3)画界面函数DrawK( )主界面是一个封闭的围墙,用两个循环语句分别在水平和垂直方向输出连续的宽度和高度均的矩形方块,表示围墙,为了醒目,设置为白色。

关于贪吃蛇可行性分析

关于贪吃蛇可行性分析

关于贪吃蛇可行性分析引言贪吃蛇作为经典的电子游戏之一,从上世纪80年代问世以来就备受玩家的喜爱。

随着科技的不断进步,贪吃蛇也从最初的黑白屏幕发展到如今的高清3D版本。

本文将对贪吃蛇游戏进行可行性分析,评估其在现代游戏市场上的潜力以及开发过程中可能面临的挑战。

1. 市场需求分析首先,我们需要评估贪吃蛇游戏在现代市场上的需求。

贪吃蛇作为一款简单而有趣的游戏,适合各个年龄段的玩家。

同时,贪吃蛇游戏具备易上手、简单明了的特点,无需费时费力地学习游戏规则。

这使得贪吃蛇成为了一种经典的休闲娱乐选择。

此外,贪吃蛇也可以根据不同设备进行适配。

从最开始的小屏幕手机到如今的大屏幕平板电脑和电脑端,都可以轻松运行贪吃蛇游戏。

这种跨设备的特性使得贪吃蛇能够满足不同玩家的需求,无论是在公共交通工具上打发时间,还是在家中放松娱乐。

综合来看,贪吃蛇游戏依然具备广泛的市场需求,特别是在休闲娱乐领域。

2. 技术开发分析其次,我们需要考虑贪吃蛇游戏的开发过程。

贪吃蛇游戏的开发主要涉及到游戏逻辑设计、图形渲染以及用户交互等方面。

在游戏逻辑设计方面,贪吃蛇游戏的规则相对简单,玩家通过操控贪吃蛇吃食物,使其身体不断变长,同时避免碰到自己的身体或者墙壁。

因此,游戏逻辑的设计相对来说是比较容易的,这也降低了开发的门槛。

图形渲染方面,贪吃蛇游戏通常采用二维或者简化的三维图像展示,相对于复杂的场景和角色设计,贪吃蛇的图形渲染要求较低。

开发人员可以利用现有的图形库或者引擎进行开发,减少了图形设计的难度和复杂度。

在用户交互方面,贪吃蛇游戏通常通过键盘或者触摸屏进行操作。

这些交互方式已经得到广泛的应用和成熟的支持,开发人员可以利用现有的技术和工具进行开发。

综合来看,贪吃蛇游戏的开发相对而言是容易的,开发人员可以利用现有的技术和工具进行快速开发。

3. 可能面临的挑战然而,贪吃蛇游戏在现代游戏市场上也面临着一些挑战。

首先,随着游戏市场的竞争日益激烈,吸引用户的关键在于创新。

幼儿园体育游戏 贪吃蛇

幼儿园体育游戏 贪吃蛇

幼儿园体育游戏贪吃蛇贪吃蛇是一款经典的电子游戏,深受全球范围内不同年龄段的玩家喜爱。

而在幼儿园体育教育中,贪吃蛇也可以作为一项富有趣味性和教育意义的运动活动。

这篇文章将介绍如何将贪吃蛇游戏与幼儿园体育课程相结合,培养幼儿的身体协调能力、注意力和团队合作精神。

一、游戏目的与规则贪吃蛇游戏的目的是让蛇吃到食物,同时避免碰到自身的身体或是墙壁。

在幼儿园体育游戏中,可以将游戏规则进行简化,让幼儿更容易理解和参与。

例如,将游戏区域划分为特定的区域,让幼儿代表蛇来回穿梭,并在特定目标位置处获取食物。

同时,为了增加趣味性和竞争性,可以设置时间限制,看哪个小组在规定时间内吃到更多的食物。

二、游戏设备和准备工作在幼儿园体育课程中进行贪吃蛇游戏,需要一些简单的设备和准备工作。

首先,需要准备一个足够大的室内或室外空间,以便幼儿可以自由地活动。

其次,可以使用彩色纸板或标记线在地上划定游戏区域。

可以根据幼儿的年龄和能力来确定区域的大小和形状。

最后,需要准备一些小球或其他符合幼儿拿取和投掷能力的食物代表,以及一个计时器。

三、游戏进行方式在开始游戏之前,教师应该告知幼儿游戏的规则和目标,以及如何操作。

可以让幼儿分成几个小组,并为每个小组指定一名贪吃蛇的队长。

队长的任务是带领队员们在游戏区域内移动,并尽可能地吃到更多的食物。

同时,在游戏过程中,队长还要提醒队员们注意不要碰到自身的身体或是墙壁,这是游戏失败的条件之一。

在游戏开始后,教师可以使用计时器记录时间,并鼓励幼儿尽量多吃食物。

可以设置不同的关卡或难度,根据幼儿年龄和能力的不同,逐步增加游戏的难度。

在结束游戏后,可以统计每个小组吃到的食物数量,并表彰表现出色的小组。

四、游戏的教育意义通过幼儿园体育游戏中的贪吃蛇活动,可以培养幼儿的身体协调能力、注意力和团队合作精神。

在操作贪吃蛇的过程中,幼儿需要灵活地控制自己的身体,并准确地判断位置和方向。

这有助于发展幼儿的运动技能和空间感知能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

贪吃蛇小游戏需求分析
————————————————————————————————作者:————————————————————————————————日期:
“贪吃蛇”游戏需求分析
一、需求分析:
贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。

本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。

具体需求概要如下:
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.流程图(函数调用关系图)
Main 函数
Init 函数
初始化绘图环境
Food 函数
随机产生初始食物的位置
Draw 函数
画出蛇体状态及食物位置
Snakes 函数
蛇体及速度变化 运动方向的选择
Draw 函数
画出蛇体状态及食物位置
Gameover 函数
游戏终止,显示分数
Food 函数 判断有无进食
Food1函数
判断是否进食
Wall 函数
画出活动区域及边框
第一次调用,画初始状态
Food1函数
从此处Draw 以后开始至结尾,函数均在一个For 循环中调用。

判断
游戏
判断
进入下一次循

#include<stdio.h>
#include<stdlib.h>
#include<graphics.h> #include<dos.h>
#include<conio.h>
#include<time.h>
3.数据结构
IMAGE wal; MOUSEMSG m;
typedef struct
{
int x[40];
int y[40];
int derection;
int food; int foodx; int foody; int size; } snake; 赋值0,1作为s.food的标志,以在for循环中判断上一个食物是否已被吃到;foodx和foody作为食物格子的横纵坐标。

作为蛇身体和头部格子的坐标
用于判断蛇身体格子的移动方向
蛇身体格子的个数,即蛇
4.全局变量
为分数赋初值0,为速度赋初值300 int score=0,speed=300;
5.函数声明
void init(void);
void wall(void);
void food(void);
void gameover(void);
int food1(void);
void snakes(void);
void draw(void);
6.算法设计
main函数:
具体实现程序功能。

调用的函数函数功能
init 初始化绘图环境
food 随机产生食物位置,判断是否进食,增加蛇长
draw 画出蛇体状态及食物位置
snakes 蛇体及速度变化,运动方向的选择
gameover 判断游戏是否终止,显示分数
●init函数:
给结构体snake 赋初值:
s.x[0]=25; 蛇体第一格初始位置的横坐标
s.y[0]=20; 蛇体第一格初始位置的纵坐标
s.x[1]=24; 蛇体第二格初始位置的横坐标
s.y[1]=20; 蛇体第二格初始位置的纵坐标
s.x[2]=23; 蛇体第三格初始位置的横坐标
s.y[2]=20; 蛇体第三格初始位置的纵坐标
s.derection=1; 蛇运动的初始方向定义为1
s.food=0; 未吃食前食物的数量为0
s.size=3; 蛇的初始长度为3个格子
初始化绘图环境为600*600像素的区域;在(250.250)处显示游戏标题“贪吃蛇”;等待操作者提供鼠标信息以开始游戏;开始游戏后,用绿色边框显示活动区域。

调用的函数函数功能
initgraph 初始化绘图环境
outtextxy 在当前位置输出字符串“贪吃蛇”GetMouseMsg 获取一个鼠标信息;若无,则一直等待
cleardevice 清屏
wall 画出活动区域及边框
●food函数、food1函数:
调用函数rand 使计算机产生随机数,以获得食物的随机位置。

● draw 函数:
绘出蛇体及食物,蛇体边框绘制为亮蓝色,食物边框为红色;并在(0.0)处显示“score :__”(当前得分)。

● snakes 函数:
用s.food (进食判断标志)判断蛇是否吃到食物,吃到则蛇长(限制蛇长<40格)加一个格子,分数累加10,速度加快,并将s.food 重置为0;s,direction 判断蛇头格子移动的方向。

调用的函数 函数功能 rand 获得一个随机数
food1
判断蛇是否吃到食物,若吃到则return 1, 回到food 函数中的do-while 循环,再次随机生成食物位置;否则return 0,food 调用结束。

调用的函数 函数功能
setcolor 设置蛇体为蓝色&设置食物为红色 rectangle
根据数组s.x[40]、s.y[40]及s.size 画出蛇体; 根据s.foodx 、s.foody[及s.size 画出食物位置
outtextxy
在当前位置输出字符串“score :”显示得分
使用的结构体
Typedef struct ()snake ;snake s 。

gameover 函数
显示gameover 提示信息,并输出玩家所得分数,结束游戏进程。

五、测试及运行结果
snakes 函数 的功能
If 语句:判断蛇是否吃到食物(蛇长<40格),吃到则蛇长加一格,分数累加10,速度加快,
并将s.food (进食判断标志)重置为0 Switch 语句:根据case1、case 2、case3、case4
判断s.direction (WSAD=上下左右)
调用的函数 函数功能
setcolor
设置字符串“score :_”为白色
outtextxy
在当前位置输出字符串“score :_”“gameover ”显示得分
cleardevice
清屏 GetMouseMsg 获取一个鼠标信息:
若无,则一直等待;若有,则exit ,退出游戏。

六、成员分组:
程序构思及模块化、Main函数:宋佳文
图形函数、Init函数、wall函数、gameover函数、:马一菲张宏旭需求分析、Draw函数、Food函数、food1函数、snakes函数:阮梦宇、张莉。

相关文档
最新文档