贪吃蛇设计说明书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
玩家过关:打开 frmGameSuccess 窗口:打开 frmSave 窗口 之后回到主页面 此外 frmGame 中还调用了 Snake 和 Food 类,用来画蛇和食物。
2. 系统开发平台的选择
此系统是基于 Microsoft Visual Studio 2005 开发环境开发的。
3. 程序设计语言的选择
InitializeComponent(); } private void btnGoToGame_Click(object sender, EventArgs e) {
game = new frmGame(); frmGame.start = true; game.Show(); } private void btnCancel_Click(object sender, EventArgs e) { Application.Exit(); } private void btnAboutGame_Click(object sender, EventArgs e) { aboutGame = new frmAboutGame(); aboutGame.Show(); } }
10
ATM 系统说明书
int speed = 1; int hurdles = 1; string pictureName= "真实风景1.bmp"; bool changeSpeed = true; bool picture = false; public static bool start = true; public bool live;//判断蛇是否活着 public static int score = 0; //定义变量 public frmGame() {
第三章:总体设计 3.1 系统的结构图(总图) 3.2 函数模块说明(每个函数的原型、功能说明) 3.3 系统运行界面截图
第四章:系统评价 4.1 系统的特点 4.2 系统的缺点 4.3 将来可能提出的要求
第五章:小结
第六章:参考文献
2
ATM 系统说明书
第一章 ATM 系统概述
1. 系统的主要任务
关于:查看记录(F6)、游戏说明(F7) 查看记录:打开 frmScores 窗口 游戏说明:打开 frmAboutGame 窗口
5
ATM 系统说明书
退出游戏:程序结束 关于游戏:打开 frmAboutGame 窗口 若在游戏过程中:蛇头碰墙或自己身体:打开 frmGameOver 窗口:打开 frmSave 窗口:
4
ATM 系统说明书
4.2 涉及知识点 此程序涉及的知识点有: 函数的重载 线程的运用 文件的打开、读写和保存 窗口的创建,控件、容器、菜单和工具栏和组建的使用
5.系统开发的目的
1. 通过开发该自动取款机系统,加强我们对所习的 C#知识的理解掌握,理解并且学会 使用面向对象的设计思想去设计程序。
2. 考察我们的实践动手能力,独立思考能力,自主学习能力,还有通过一系列方法寻求 帮助的能力等。
3
ATM 系统说明书
变速游戏:速度分 1-10 个级别。 并且根据关卡的高低决定速度的快慢。
均速游戏:用户可以自行选择所要速度的快慢。 1 表示最慢,10 表示最快。
音乐: 当打开游戏界面时,音乐会自动播放,默认的音乐是:Remeber。 若玩家要修改或关闭音乐,可以通过:选项->音乐 或是 F5 快捷键 打开窗口。 若玩家不想播放音乐,请点击关闭。 若玩家要播放选中的音乐,请点击确定。
游戏说明: 玩家可以通过:关于->游戏说明 或 F7 快捷键 打开窗口。 窗口中显示了本游戏的说明。
游戏的快捷键: 开始:F2 暂停:F3 退出:F4 音乐:F5 查看记录:F6 游戏说明:F7
4. 设计方法及涉及知识点
4.1 设计方法 因为界面的需要,在程序中有很多窗口:
frmStart:游戏刚开始的窗口 frmGame:在 frmStart 窗口中选择“进入游戏”后打开的窗口 frmSpeed:用户选择速度时打开的窗口 frmMusic:用户选择音乐时打开的窗口 frmFace:用户选择界面时打开的窗口 frmScores:用户查看记录时打开的窗口 frmAboutGame:用户选择游戏说明时打开的窗口 frmMessage:当游戏进行时,用户终止游戏出现的窗口 frmGameOver:在蛇撞墙或是撞到自己身体是打开的窗口 frmGameSuccess:用户成功结束游戏时打开的窗口 frmSave:游戏开始后,游戏结束打开的窗口 此外,还创建了其他类:Food 类和 Snake 类
3. 通过巩固以往的知识也为后续的课程打下良好的基础。
第二章 系统分析
1. 分析问题和定义类,给出类的定义和联系
玩家打开游戏,首先进入主页面(frmStart 窗口),主页面有三个按钮:进入游戏、退出游 戏和关于游戏
进入游戏:打开 frmStart 窗口
frmStart 窗口:工具栏分为游戏、选项和关于 游戏:开始(F2)、暂停或继续(F3)、退出(F4)
关键字: 主页面,快捷键,方向键,解决方案
1
ATM 系统说明书
目录
第一章:ATM 系统概述 1.1 系统的主要任务 1.2 基本要求 1.3 主要功能 1.4 设计方法及涉及知识点 1.4.1 设计方法 1.4.2 涉及知识点 1.5 系统开发的目的
第二章:系统分析 2.1 分析问题和定义类,给出类的定义和联系, 2.2 系统开发平台的选择 2.3 程序设计语言的选择 2.4 操作平台
此系统的设计语言采用面向对象的程序设计语言 Microsoft Visual C# 2.0。
4. 操作平台
硬件条件:Intel PII CPU、256 RAM、20G 硬盘以上的 PC 机 软件条件:Windows 98 以上操作系统
第三章 总体设计
1. 系统的结构图(总图) 系统用例图:
6
系统类图:
开始:游戏开始 暂停或继续:游戏暂停或继续 退出:游戏还没开始:回到主界面
游戏已经开始:打开 frmMessage 窗口: 选择确定:打开 frmSave 窗口: 选择确定:保存后回到主界面 选择取消:不保存且回到主界面 选择取消:游戏继续
选项:速度、音乐(F5)、背景 速度:打开 frmSpeed 窗口,玩家选择变速游戏或是均速游戏(此项还要选择速度) 音乐:打开 frmMusic 窗口,玩家选择是否播放音乐以及播放的歌曲 背景:打开 frmFace 窗口,玩家选择游戏界面的背景图片
ATM 系统说明书
贪吃蛇设计说明书
Hale Waihona Puke Baidu摘要
本贪吃蛇(Snake)游戏仿照以往的贪吃蛇游戏,尽管在图形界面 方面存在一定的缺陷,但能够基本实现游戏的功能。
本游戏分为 10 个级别,玩家通过方向键对蛇的运动进行控制,如 果蛇吃到食物,得分加 10 分,并且到一定的程度级别会上升。此外, 用户可以根据需要选择速度、界面以及播放的音乐,并且在游戏中保 存了以往前三名玩家的记录,供玩家参考。
本游戏主要提供给玩家进行娱乐。
2. 基本要求
1. 要求利用面向对象的方法以及 C#程序设计语言来完成该系统的设计; 2. 要求在设计的过程中,建立清晰的类的层次; 3. 在系统中建立相关的类,每个类中都要有各自的属性和方法; 4. 程序运行结果正确,操作方面,界面美观,逻辑层次清楚,程序结构合理,文档规范清
mciSendString(@"close temp_alias ", null, 0, 0); mciSendString(@"open ""Remember.mp3"" alias temp_alias", null, 0, 0);//不能修改,否则无法播放 mciSendString("play temp_alias repeat", null, 0, 0); } } private void timer1_Tick(object sender, EventArgs e) { gameOver = new frmGameOver(); gameSuccess = new frmGameSuccess(); if (picture == false)//表示刚才没有调过界面,如果没有此判断,则调了
ATM 系统说明书
7
系统流程图:
ATM 系统说明书
8
ATM 系统说明书 9
ATM 系统说明书
2. 函数模块说明
frmStart:
public partial class frmStart : Form {
frmGame game; frmAboutGame aboutGame; public frmStart() {
frmGame:
public partial class frmGame : Form {
[DllImport("winmm.dll ")] public static extern uint mciSendString(string lpstrCommand, string lpstrReturnString, uint uReturnLength, uint hWndCallback); //用于播放音乐 frmMusic music; frmAboutGame aboutGame; frmSpeed gameSpeed; frmFace face; frmScores scores; frmGameOver gameOver; frmMessage showMessage; frmGameSuccess gameSuccess; //定义窗口对象 Snake snake = new Snake(); Food food = new Food(); //定义类对象 Graphics g; Graphics g1; //定义画布对象 Bitmap img; TextureBrush tb; //定义画图要用的的对象 int max = 100;
晰。
3. 主要功能
该系统具备以下功能: 控制蛇运动方向: 用键盘上的↑、↓、←、→控制蛇的运动方向。 当蛇向一个方向运动时,它的反向键被锁定。 不能通过连续按住某个方向键而加快蛇的运动。 若在游戏中,蛇头碰了墙或是自己的身体,则游戏结束。 蛇吃食物: 蛇每吃一个食物增长一节,并且得分加 10 分,总共为 100 节。 蛇每增长 10 节游戏上升一个级别。 游戏结束: 如果在游戏过程中,蛇头碰墙或是碰到了自己的身体,则游戏结束。 如果在游戏过程中,用户选择退出游戏,则提醒用户游戏正在进行,是否要退出。 选择退出,则游戏结束。 选择取消,则游戏继续。 如果玩家成功过关,则游戏结束。 在上述任何一种情况下,系统都会询问用户:是否保存游戏成绩? 选择确定,如果姓名为空,则默认以“匿名玩家”记录。 选择取消,则不记录。 开始: 开始游戏 暂停: 暂停游戏 退出: 退出游戏 速度: 玩家可以通过:选项->速度 打开窗口。 系统默认的方式是变速游戏。 玩家可以自行选择变速游戏或是均速游戏。
InitializeComponent(); live = false; timer1.Enabled = false; timer1.Interval = 100; if (start == true) {
Snake.snakeDirection = Snake.snakePreDirection = 2; } } private void palMid_Paint(object sender, PaintEventArgs e) { g = pnlOut.CreateGraphics(); g1 = pnlIn.CreateGraphics(); img = new Bitmap("红墙.bmp"); tb = new TextureBrush(img); g1.FillRectangle(tb, 0, 0, 544, 443); img = new Bitmap(pictureName); tb = new TextureBrush(img); g.FillRectangle(tb, 0, 0, 500, 400); food.makeFood(g); snake.draw(g); if (start == true) {
界面: 玩家可以根据爱好选择想要的图片,总共有 8 张背景图片供选择。 玩家选择图片后,可以在对话框的右边预览到图片。 点击确定则显示选中的图片,点击取消则显示原先图片。 当游戏开始后,此功能键不能用。
查看记录: 玩家可以通过:关于->查看记录 或 F6 快捷键 打开窗口。 窗口中显示了以往玩家的前三名成绩。
相关文档
最新文档