文档库 最新最全的文档下载
当前位置:文档库 › 贪吃蛇游戏的设计与实现

贪吃蛇游戏的设计与实现

贪吃蛇游戏的设计与实现
贪吃蛇游戏的设计与实现

基于C#贪吃蛇游戏的设计与实现

摘要

本贪吃蛇(Snake)游戏仿照以往的贪吃蛇游戏,尽管在图形界面方面存在一定的缺陷,但能够基本实现游戏的功能。

本游戏分为10个级别,玩家通过方向键对蛇的运动进行控制,如果蛇吃到食物,得分加10分,并且到一定的程度级别会上升。此外,用户可以根据需要选择速度、界面以及播放的音乐,并且在游戏中保存了以往前三名玩家的记录,供玩家参考。

关键字:主页面,快捷键,方向键,解决方案

第一章系统概述

1.系统的主要任务

完成课程设计。

2.基本要求

1.要求利用面向对象的方法以及C#程序设计语言来完成该系统的设计;

2.要求在设计的过程中,建立清晰的类的层次;

3.在系统中建立相关的类,每个类中都要有各自的属性和方法;

4.程序运行结果正确,操作方面,界面美观,逻辑层次清楚,程序结构合理,文档规范清

晰。

3.主要功能

该系统具备以下功能:

控制蛇运动方向:

用键盘上的↑、↓、←、→控制蛇的运动方向。

当蛇向一个方向运动时,它的反向键被锁定。

不能通过连续按住某个方向键而加快蛇的运动。

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

蛇每吃一个食物增长一节,并且得分加10分,总共为100节。

蛇每增长10节游戏上升一个级别。

游戏结束:

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

如果在游戏过程中,用户选择退出游戏,则提醒用户游戏正在进行,是否要退出。

选择退出,则游戏结束。

选择取消,则游戏继续。

如果玩家成功过关,则游戏结束。

在上述任何一种情况下,系统都会询问用户:是否保存游戏成绩?

选择确定,如果姓名为空,则默认以“匿名玩家”记录。

选择取消,则不记录。

开始:

开始游戏

暂停:

暂停游戏

退出:

退出游戏

速度:

玩家可以通过:选项->速度打开窗口。

系统默认的方式是变速游戏。

玩家可以自行选择变速游戏或是均速游戏。

变速游戏:速度分1-10个级别。

并且根据关卡的高低决定速度的快慢。

均速游戏:用户可以自行选择所要速度的快慢。

1表示最慢,10表示最快。

音乐:

当打开游戏界面时,音乐会自动播放,默认的音乐是:Remeber。

若玩家要修改或关闭音乐,可以通过:选项->音乐或是F5快捷键打开窗口。

若玩家不想播放音乐,请点击关闭。

若玩家要播放选中的音乐,请点击确定。

界面:

玩家可以根据爱好选择想要的图片,总共有8张背景图片供选择。

玩家选择图片后,可以在对话框的右边预览到图片。

点击确定则显示选中的图片,点击取消则显示原先图片。

当游戏开始后,此功能键不能用。

查看记录:

玩家可以通过:关于->查看记录或F6快捷键打开窗口。

窗口中显示了以往玩家的前三名成绩。

游戏说明:

玩家可以通过:关于->游戏说明或F7快捷键打开窗口。

窗口中显示了本游戏的说明。

游戏的快捷键:

开始:F2

退出:F4

音乐:F5

查看记录:F6

游戏说明:F7

4.设计方法及涉及知识点

4.1 设计方法

因为界面的需要,在程序中有很多窗口:

frmStart:游戏刚开始的窗口

frmGame:在frmStart窗口中选择“进入游戏”后打开的窗口

frmSpeed:用户选择速度时打开的窗口

frmMusic:用户选择音乐时打开的窗口

frmFace:用户选择界面时打开的窗口

frmScores:用户查看记录时打开的窗口

frmAboutGame:用户选择游戏说明时打开的窗口

frmMessage:当游戏进行时,用户终止游戏出现的窗口

frmGameOver:在蛇撞墙或是撞到自己身体是打开的窗口

frmGameSuccess:用户成功结束游戏时打开的窗口

frmSave:游戏开始后,游戏结束打开的窗口

此外,还创建了其他类:Food类和Snake类

4.2 涉及知识点

此程序涉及的知识点有:

函数的重载

线程的运用

文件的打开、读写和保存

窗口的创建,控件、容器、菜单和工具栏和组建的使用

5.系统开发的目的

1. 通过开发这个小游戏完成期末课程设计

2. 考察我们的实践动手能力,独立思考能力,自主学习能力,和团队合作能力。还有通过一系列方法寻求帮助的能力等。

3. 通过巩固以往的知识也为后续的课程打下良好的基础。

第二章系统分析

1.分析问题和定义类,给出类的定义和联系

玩家打开游戏,首先进入主页面(frmStart窗口),主页面有三个按钮:进入游戏、退出游戏和关于游戏

进入游戏:打开frmStart窗口

frmStart窗口:工具栏分为游戏、选项和关于

游戏:开始(F2)、暂停或继续(F3)、退出(F4)

开始:游戏开始

暂停或继续:游戏暂停或继续

退出:游戏还没开始:回到主界面

游戏已经开始:打开frmMessage窗口:

选择确定:打开frmSave窗口:

选择确定:保存后回到主界面

选择取消:不保存且回到主界面

选择取消:游戏继续

选项:速度、音乐(F5)、背景

速度:打开frmSpeed窗口,玩家选择变速游戏或是均速游戏(此项还要选择速度)音乐:打开frmMusic窗口,玩家选择是否播放音乐以及播放的歌曲

背景:打开frmFace窗口,玩家选择游戏界面的背景图片

关于:查看记录(F6)、游戏说明(F7)

查看记录:打开frmScores窗口

游戏说明:打开frmAboutGame窗口

退出游戏:程序结束

关于游戏:打开frmAboutGame窗口

若在游戏过程中:蛇头碰墙或自己身体:打开frmGameOver窗口:打开frmSave窗口:玩家过关:打开frmGameSuccess窗口:打开frmSave窗口

之后回到主页面

此外frmGame中还调用了Snake和Food类,用来画蛇和食物。

2.系统开发平台的选择

此系统是基于Microsoft Visual Studio 2005 开发环境开发的。

3. 程序设计语言的选择

此系统的设计语言采用面向对象的程序设计语言Microsoft Visual C# 2.0。

4. 操作平台

硬件条件:Intel PII CPU、256 RAM、20G硬盘以上的PC机

软件条件:Windows 98以上操作系统

第三章总体设计

1.系统的结构图(总图)系统用例图:

系统类图:

系统流程图:

开始选择操作

选择关于游

戏?

选择进入游

戏?

No

No

显示游戏说明Yes

结束

进入游

戏Yes

退出游戏

进入游

选择操作

开始游戏?

退出游戏?

选择速度?

选择音乐?

选择背景?

选择游戏记

录?

NO

No

No

No

No

NO

开始游

Yes

返回

Yes

选择变速游戏或是

均速游戏(游戏速

度)

Yes

选择播放音乐(播放

歌曲)或是关闭音乐

Yes

选择背景图片

Yes

显示游戏记录

Yes

显示游戏说明

开始游戏

蛇头撞墙or 蛇头碰到自己的身体?玩家过关?选择速度?选择音乐?

选择背景?

选择游戏记录?

No

No

No

No 返回

选择变速游戏或是均速游戏(游戏速

度)

Yes 选择播放音乐(播放歌曲)或是关闭音乐

Yes

选择背景图片

Yes

显示游戏记录

Yes

显示游戏说明NO

选择操作

No

继续游戏?

No

Timer1.Enable=true?

暂停游戏?

No

Yes

No

Yes

游戏正在进行,是否要退

出?

显示游戏结束

显示是否保存

是否保存?

保存记录

Yes

No

选择游戏说明?

Yes

No

退出游戏?

No

Yes

Yes

Yes

Yes

2.函数模块说明

frmSpeed

public partial class frmSpeed : Form

{

public int speed = 1;

public bool changeSpeed = true;

public frmSpeed()

{

InitializeComponent();

}

private void radChangeSpeed_CheckedChanged_1(object sender, EventArgs e) {

nupdSpeed.Enabled = false;

nupdSpeed.Value = 1;

}

private void radNotChangeSpeed_CheckedChanged_1(object sender, EventArgs e)

{

nupdSpeed.Enabled = true;

}

private void btnOK_Click(object sender, EventArgs e)

{

if (radChangeSpeed.Checked == true)

{

changeSpeed = true;

speed =1;

}

else

{

changeSpeed = false;

speed = Convert.ToInt32 (nupdSpeed.Value);

}

this.Close();

}

private void btnCancel_Click(object sender, EventArgs e)

{

changeSpeed = true;

speed = 1;

this.Close();

}

protected override void WndProc(ref Message m)

{

const int WM_NCHITTEST = 0x84;

const int HTCLIENT = 0x1;

const int HTCAPTION = 0x2;

switch (m.Msg)

{

case WM_NCHITTEST:

base.WndProc(ref m);

if ((int)m.Result == HTCAPTION) {

m.Result = (IntPtr)HTCLIENT; }

return;

}

base.WndProc(ref m);

}

}

3.系统运行界面截图

第四章系统评价

1.系统的特点

此系统的特点有:

1、程序界面较为美观

2、用户可以喜好选择音乐和界面

3、用户可以根据需要选择变速游戏或是均速游戏

4、程序记录了以往玩家前三名的记录,并且会在游戏结束时询问玩家是否要保存成绩

5、程序支持快捷键,以便在游戏进行时方便地控制

2.系统的缺点

此系统的缺点有:

1、尽管图片不闪烁,但是食物和蛇稍微有点闪烁

2、在有其他窗体覆盖了游戏界面,再移开后原先的图片就会变为空白。尽管某些情况下解

决了这个问题,但还有一些情况没有解决。

3、歌曲的播放无法实现放完一首放另外一首歌曲,只有玩家手动操作,否则重复播放同一

首歌

3.将来可能提出的要求

1、蛇和食物的样子要改善,需要更加贴切实际,而不是单纯的方块

2、音乐要实现连续播放不同的歌曲

3、对于游戏的界面,不仅支持系统默认的,而且可以从本地计算机加载

4、在玩家一局游戏没有结束,而有事要暂时关闭电脑时,系统可以记录本次游戏,玩家下

次可以继续进行游戏

第五章小结

本项目是由四人组成的小组共同完成的,我在该项目中主要是完成贪吃蛇中蛇的速度控制模块。

蛇的速度控制模块主要完成的功能是设定一个起点速度,每过一关速度增加一个等级,模块的接口是class frmSpeed 类,游戏过程中通过调用这个类可以实现游戏速度的控制,通过选择游戏模式(这个部分由其他成员完成)进入该模块。

遇到的问题:

1.蛇的速度增加的设定;由于涉及的定时器的应用,而将时间片设置为0.1秒

会产生蛇移动时闪烁的问题。

2.蛇速度极限的问题;在速度极限上小组成员发生争执,本人认为游戏必须上

有限,小组成员赞同不设限制。

3.是否将蛇折转时候的时间算为一个时间片;讨论结果为折转时候按键响应时

间为一个时间片;

以上问题都在小组的共同努力下得到了我们认为比较好的解决方法。

通过这个项目的完成,我们更好的体会到了团队的意义,也更加明确了团队合作的重要性,完成项目的过程中,我们遇到了不少的问题和分歧,但是这些问题都在我们的讨论甚至争执中得到解决和统一。除此之外,我学会的怎样查找资料,互联网是个很好的地方,很多问题在互联网上都有热心的人帮你解决,当然光靠别人的帮助是无法完成自己的事情的。所以更多的时候图书馆是一个帮你提升你自己的理想场所。除此之外,也让我感觉c#较之c++的不同之处。

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 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

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; /*蛇的长度*/

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

辽宁科技大学课程设计说明书 设计题目:基于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.wendangku.net/doc/a62591451.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通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。

基于LabVIEW的贪吃蛇游戏设计

本科毕业设计(论文) 题目:基于Lab VIEW的贪 吃蛇游戏开发设计 学号: 20114821353 姓名:王诗群 班级:11光电A1 专业:信息显示与光电技术 学院:工学部 入学时间:2011级 指导教师:秦琴老师 日期: 2011年6月8日

毕业设计(论文)独创性声明 本人所呈交的毕业论文是在指导教师指导下进行的工作及取得的成果。除文中已经注明的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期:

基于Lab VIEW的贪吃蛇游戏开发设计 摘要 采用Lab VIEW软硬件平台,结合键盘的游戏操作。 关键词: Lab VIEW软件平台;键盘;贪吃蛇游戏操作方案。

Dual mode snake game development design ABSTRACT Using LABVIEW software and hardware platform, can be achieved based on the PC screen and keyboard game operation and based on photoelectric diode and switch the snake game operation. Key words: LABVIEW software and hardware platform;Snake game operation.

目录 1 绪论 (6) 2 LABVIEW简介 (7) 2.1 LABVIEW概念 (7) 2.2 LABVIEW特点 (7) 3 游戏软件设计方案 (9) 3.1设计思路简介及框图 (9) 3.2游戏界面 (10) 3.3主要程序介绍 (10) 3.3.1 初始设定 (10) 3.3.2 蛇运动方向控制 (11) 3.3.3 蛇头运动控制 (13) 3.3.4蛇尾运动控制 (15) 3.3.5蛇身加长和要吃部分产生 (16) 3.3.6蛇自撞与撞墙 (18) 3.3.7分数与最高分 (18) 4调试结果与优化 (20) 4.1调试结果 (20) 4.2进一步优化 (20) 5 结论与总结 (21) 致谢 (22) 参考文献 (23)

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语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (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();//图形驱动

贪吃蛇游戏程序设计一课程设

贪吃蛇游戏程序设计__ 一、课程设.txt 同志们:别炒股,风险太大了,还是做豆腐最安全!做硬了是豆腐干,做稀了是豆腐脑,做薄了是豆腐皮,做没了是豆浆,放臭了是臭豆腐!稳赚不亏呀!贪吃蛇游戏程序设 计 一、课程设计任务贪吃蛇小游戏程序设计 二、设计要求通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合 理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路;(2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;(4).完成课程设计报告,并进行答辩 三、需求分析3.1 、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2 、设计思想程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。3.3 、流程图 开始 初始化界面和蛇身 放置食物 蛇开始运动 蛇吃到食? 蛇长大 蛇死亡? 继续? 退出界面 N Y N

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

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;

基于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语言

贪吃蛇游戏程序设计

测控技术与仪器专业课程设计题单班级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.函数定义是要做到顾名思义是很重要的,它对读程序的人正确认识程序 十分重要,在修改这个程序的过程中也能很快找到程序各模块的作用,大大增

贪吃蛇的设计与实现

《项目工程实践》课程结题报告 课题名称贪吃蛇的设计与实现 分数 日期:__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游戏主界面框架

基于NiosII贪吃蛇的游戏设计(电子综合设计)

基于NiosII和LED点阵的贪吃蛇游戏设计 目录 一、摘要 (2) 二、设计目的 (2) 三、贪吃蛇设计预期目标 (2) 四、方案整体设计 (2) 五、硬件系统的设计及实现 (3) 六、软件系统的设计及实现 (11) 七、心得体会 (14) 八、参考文献 (15) 九、附录 (15) 一、摘要 基于NiosII软核处理器和LED点阵显示屏的贪吃蛇游戏内容是:一条蛇在封闭的围墙里,围墙里随机出现一个食物。玩家通过4个按键控制蛇上下左右移动,且蛇只能沿着头运动的轨迹移动。蛇头撞到食物,则食物被吃掉,蛇身体增长一节,同时记1分,又出现食物,等待蛇来吃,如果蛇头在移动中出界或咬到自己的身体则游戏结束。关键字:贪吃蛇Nios II LED点阵SOPC 二、设计目的 1、掌握按键扫描电路的设计 2、掌握用VHDL语言设计按键扫描电路的方法 3、掌握16*16 LED点阵的控制原理和用VHDL语言设计LED

点阵扫描电路的方法; 4、掌握SOPC Builder的设计流程; 5、掌握在Nios II中进行编程的方法; 三、贪吃蛇设计预期目标 1、基本功能 (1)、完成按键扫描电路的设计; (2)、完成16*16 LED 点阵的扫描电路设计; (3)、完成SOPC Builder 中的系统设计; (4)、完成单色贪吃蛇游戏的基本设计(蛇移动方向的改变,吃到果子后蛇身变长,咬到自己或者出界时的失败处理等);(5)、完成游戏图形信息提示(游戏目前所处的等级等)。 2、提高功能 (1)、能进行汉字动态显示(显示内容自动更新,形式自定,如百叶窗等); (2)、蛇头颜色与蛇身区别显示,并与果实颜色区别显示; (3)、游戏过程中加入声音提示和表情提示; (4)、所得分数在数码管上显示; (5)、能进行游戏难度的切换(不同难度下,蛇吃到相应数量的果子后升级)。 四、方案整体设计 为了实现游戏的控制、显示、设置等功能,系统需要具有控制模块,动态扫描显示模块,按键识别模块。本设计中采用Nios II软核CPU作为游戏的主控制单元,按键识别模块中的每个按

C语言贪吃蛇实验报告

C语言程序设计报告 题目:贪吃蛇游戏的程序设计 院系:西语学院英语教育6班 : 学号:

1.1题目: 设计贪吃蛇小游戏 1.2题目的要求: 玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束。 1.3设计的步骤: ●分析设计题目的要求,即需求分析。 ●总体设计,确定所需模块及模块间调用关系,定义系统中使用的数据类型。 ●详细设计,确定每个模块的功能,绘制主要函数的流程图。 ●编写程序代码,调试程序使其能正确运行。要求书写规范,注意采用缩进格式。函数 名、变量名要见文晓意,注释要简而不失、详而不缀。设计完成的软件要便于操作和使用。 ●程序测试,发现程序中存在的错误并改正。 ●完成报告。 2详细设计说明 2.1课程设计的要求: 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 ●收集资料,分析课题,分解问题,形成总体设计思路;

●对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具 体介绍; ●上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能 正常运行; ●完成课程设计报告。 2.2程序的功能: 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 2.3课程设计的思想: 程序关键在于表示蛇的图形及蛇的移动。用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇运动方向相反的方向键,此游戏就会暂停,再按想前的方向键才能继续游戏,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画一个圆点和覆盖原来的圆点。为了便于理解,定义两个结构体:食物与蛇。

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

贪吃蛇小游戏需求分析

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

“贪吃蛇”游戏需求分析 一、需求分析: 贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。 具体需求概要如下: 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.流程图(函数调用关系图)

贪吃蛇游戏程序设计

测控技术与仪器专业课程设计题单 班级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.函数定义是要做到顾名思义是很重要的,它对读程序的人正确认识程序 十分重要,在修改这个程序的过程中也能很快找到程序各模块的作用,大大增

贪吃蛇游戏策划书(第四组)

贪吃蛇游戏策划书(第四组) 贪吃蛇游戏设计文档 一.概述 本设计主要围绕贪吃蛇游戏展开。众所周知,贪吃蛇游戏一直以来是比较流行的。传统的贪吃蛇游戏功能比较少,对蛇的控制仅限于向左转和向右转,而现在的贪吃蛇游戏已经发展的相当好;具有更多的功能和友好的界面。例如,最近流行的的3D版的贪吃蛇游戏,界面相当的美观,有很强的立体效果,真实感更强,食物也为立体的且颜色绚丽。在3D版贪吃蛇游戏里面,墙壁是真实的墙壁,障碍物比较多,如树、土丘等。此外,其功能更多更强,可以选择难度。不过,总而言之,3D版与传统的贪吃蛇游戏有共性,即娱乐性与益智性。这些也是贪吃蛇游戏的优点。 因水平有限,只能设计简单的贪吃蛇游戏。不过,在功能上,比传统贪吃蛇游戏更丰富。蛇可以反向运动,操作起来,显得更为灵活。界面的颜色选用绿色,不易使眼睛疲劳。 系统名称:贪吃蛇游戏组长评分成员分工刘利霞肖莎田君刘子豪骆兵 二.制作工具 后期调试、代码整合数据操作模块模型设计软件整体框架设计以及模块划分视图层设计

本课题研究的是基于J2ME的手机贪吃蛇游戏,利用EclipseIDE工具和Sun Java ME SDK ,JAVA语法和J2ME系 统的API来实现。主要研究的对象是: 1.简单人工智能的 实现。 操作系统:Microsoft Windows XP 程序语言:Java 2 开发包:Sun Java(TM) Wireless Toolkit for CLDC IDE:Eclipse 2.面向对象的编程技巧; 的低级、高级界面的开发; 内专门游戏开发包Game包的使用 5.多线程技术的应用; 三. Game play 以及外观 贪吃蛇游戏的规则简介 在贪吃蛇游戏中,玩家操作小方块连接而成的蛇,去吃 随机散落在画面内的小方块,每吃一块就增加一小方块长度,要是撞壁以及撞自己的尾,就属于失败,如无失败则直 到通关为止。同时食物也是会变动位置的,在一定时候没有 吃到的话食物就会变换位置。屏幕的长度的行向为11单位,纵向为18单位。在这个范围内,玩家通过操作方向键来控 制蛇的运动方向。该游戏的最大特色是屏幕自适应,无论各 种手机,PDA的屏幕大小如何,该游戏总是能获得最佳的显示 效果。

贪吃蛇游戏设计报告

贪吃蛇游戏设计 班级: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指令完成

相关文档
相关文档 最新文档