logo资料库

操作系统课设-贪吃蛇游戏实现.doc

第1页 / 共58页
第2页 / 共58页
第3页 / 共58页
第4页 / 共58页
第5页 / 共58页
第6页 / 共58页
第7页 / 共58页
第8页 / 共58页
资料共58页,剩余部分请下载后查看
1 项目实施计划与分工
1.1 问题描述
1.2 任务分解
1.3 团队成员简介
1.4 系统开发分工
1.5 文档撰写分工
1.6 进度安排
2 理论概述与源代码分析
2.1 Linux系统原理概述
2.1.1操作系统设备管理基本原理
2.1.2 键盘中断服务程序的执行过程
2.2 源程序关键函数描述
2.2.1 单人模式函数描述
2.2.2 双人模式函数描述
2.3 数据结构说明
2.4 源代码分析
2.4.1 定义初始光标的坐标和蛇身长度
2.4.2 定义食物的坐标
2.4.3 贪吃蛇的创建
3 算法及数据结构设计
3.1 数据结构设计
3.2 算法设计
3.2.1贪吃蛇单人模式
3.2.2贪吃蛇双人模式
4 程序测试与验证
4.1 测试方法设计
4.2 测试结果
4.2.1 进入贪吃蛇游戏测试
4.2.2 贪吃蛇移动测试
4.2.3 贪吃蛇进食测试
4.2.4 游戏结束测试
4.2.5 容错测试
4.2.6 双人模式移动及进食测试
4.2.7 双人模式游戏结束测试
4.3 程序的缺陷及补充
5 结论
参考文献
附 录 程序清单
沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:操作系统课程设计 课程设计题目:贪吃蛇游戏设计与实现 学 院:计算机学院 指导教师: 学生信息: 专业 班级 学号 姓名 计算机科学与技术 计算机科学与技术 计算机科学与技术 计算机科学与技术 完成时间:2018年 9 月 10 日
沈阳航空航天大学课程设计报告 沈阳航空航天大学 课程设计任务书 课程设计名称 操 作 系 统 课 程 设 计 题目名称 起止日期 贪吃蛇游戏设计与实现 2018 年 9 月 3 日 起 至 2018 年 9 月 14 日 止 学 生 信 息 专业 班级 学号 姓名 计算机科学与技术 计算机科学与技术 计算机科学与技术 计算机科学与技术 课设内容和要求: 基于 Linux 0.11 内核键盘中断服务程序和显示字符的方式,设计一个具有贪吃 蛇程序,功能如下: 1、贪吃蛇控制。按 q 键启动游戏。游戏启动后,贪吃蛇(蛇头用+表示)从屏幕的 左上角出现并自动向右移动。用户按 w、s、a、d 键分别控制蛇头向上、下、左、右 四个方向移动。当用户再次按 q 键时,终止游戏。 2、当蛇头“+”移动到屏幕的边缘时,就会在与之相反的边缘出现,继续同方向 移动。 3、在屏幕上的某些位置出现“#”字符,当蛇头“+”与“#”相遇后,“#”消 失,并且在另外一个位置再出现一个“#”。同时,蛇的尾部就多出一个“*”,作为 蛇身,吃的“#”越多,蛇身就越长。 4、蛇身越长,贪吃蛇移动的速度越快(或越慢)。 5、当蛇头“+”撞到蛇身“*”后,结束游戏。 6、设计两人游戏模式,让屏幕上同时出现 2 个贪吃蛇,每个人通过实现双人贪 吃蛇对战。 I
沈阳航空航天大学课程设计报告 要求: 1、学习理解 Linux 0.11 内核通过 tty0 终端对键盘设备和显示设备控制原理。 2、制定合理游戏规则,保证游戏具有可玩性。 3、课设使用 Engintime Linux Lab 实验平台编辑、编译和调试 Linux0.11 内核。 4、学生以小组形式完成软件项目的分析、设计、实现等多个环节,并书写规范的报 告。 参考资料: [1] 北京英真时代. Linux 内核实验教程_2.1. 北京英真时代科技有限公司编写 [2]赵炯. Linux 内核完全注释. 北京:机械工业出版社, 2004 [3]赵炯. Linux 内核完全剖析——基于 0.12 内核. 北京: 机械工业出版社, 2008 [4]拉芙(RobertLove).Linux 内核设计与实现(第 3 版). 北京:机械工业出版社, 2011 [5]汤小丹等.计算机操作系统(第 3 版).西安电子科技大学出版社,2007.05 系 审 核 意 见 : 同 意 □ 不 同 意 □ 系 主 任 签 字 ( 盖 章 ) : 指导教师(签名) 学 学 学 学 生(签名) 生(签名) 生(签名) 生(签名) 年 年 年 年 年 月 月 月 月 月 日 日 日 日 日 II
沈阳航空航天大学课程设计报告 目 录 沈阳航空航天大学........................................................................................................... I 1 项目实施计划与分工.................................................................................................1 1.1 问题描述...............................................................................................................1 1.2 任务分解...............................................................................................................1 1.3 团队成员简介.........................................................................................................2 1.4 系统开发分工.........................................................................................................2 1.5 文档撰写分工.........................................................................................................2 1.6 进度安排.................................................................................................................2 2 理论概述与源代码分析.............................................................................................5 2.1 LINUX 系统原理概述............................................................................................5 2.1.1 操作系统设备管理基本原理...........................................................................5 2.1.2 键盘中断服务程序的执行过程....................................................................6 2.2 源程序关键函数描述.............................................................................................9 2.2.1 单人模式函数描述..........................................................................................9 2.2.2 双人模式函数描述........................................................................................10 2.3 数据结构说明.......................................................................................................10 2.4 源代码分析...........................................................................................................11 2.4.1 定义初始光标的坐标和蛇身长度................................................................11 2.4.2 定义食物的坐标............................................................................................11 2.4.3 贪吃蛇的创建................................................................................................12 3 算法及数据结构设计...............................................................................................13 3.1 数据结构设计.....................................................................................................13 3.2 算法设计.............................................................................................................13 3.2.1 贪吃蛇单人模式.............................................................................................13 3.2.2 贪吃蛇双人模式.............................................................................................13 4 程序测试与验证.......................................................................................................17 4.1 测试方法设计.....................................................................................................17 4.2 测试结果.............................................................................................................17 4.2.1 进入贪吃蛇游戏测试....................................................................................17 4.2.2 贪吃蛇移动测试............................................................................................18 4.2.3 贪吃蛇进食测试............................................................................................20 4.2.4 游戏结束测试................................................................................................21 4.2.5 容错测试........................................................................................................21 4.2.6 双人模式移动及进食测试............................................................................22 4.2.7 双人模式游戏结束测试................................................................................23 III
沈阳航空航天大学课程设计报告 4.3 程序的缺陷及补充...............................................................................................25 5 结论...........................................................................................................................26 参考文献.........................................................................................................................27 附 录 程序清单.......................................................................................................27 IV
沈阳航空航天大学课程设计报告 1 项目实施计划与分工 1.1 问题描述 贪吃蛇是一个深受人们喜爱的游戏,一条蛇在一定的区域内,在这个区域内随 机出现一个食物,通过按键盘上的四个控制键控制蛇向上下左右四个方向移动,蛇 头撞到食物,则表示食物被蛇吃掉,这时蛇身子长一节,接着又出现食物,等待被蛇 吃掉,如果在蛇移动的过程中,撞到其他的蛇或身体交叉蛇头撞到自己的身体,则 游戏结束。 1.2 任务分解 :设计两人游戏模式,让屏幕上同时出现 2 个贪吃蛇,每个人通过实现双人贪吃 蛇对战。当蛇头“+”移动到屏幕的边缘时,就会在与之相反的边缘出现,继续同 方向移动。 :贪吃蛇控制。按 q 键启动游戏。游戏启动后,贪吃蛇(蛇头用+表示)从屏幕的 左上角出现并自动向右移动。用户按 w、s、a、d 键分别控制蛇头向上、下、左、 右四个方向移动。当用户再次按 q 键时,终止游戏。 :当蛇头“+”撞到蛇身“*”后,结束游戏。每吃到一个食物,蛇的尾部就多出 一个“*”,作为蛇身,吃的“#”越多,蛇身就越长。 :蛇身越长,贪吃蛇移动的速度越快(或越慢)。在屏幕上的某些位置出现“#” 字符,当蛇头“+”与“#”相遇后,“#”消失,并且在另外一个位置再出现一个 “#”。 1
沈阳航空航天大学课程设计报告 1.3 团队成员简介 1.4 系统开发分工 队长需要进行详细设计、编写文档,和小组成员进行沟通的工作。 队员根据队长的设计成果进行具体编码工作,对自己的代码进行基本的单元测试。 队长还需要做到走查小组成员代码的工作 测试人员需要对目标产品进行测试,编写测试 case 和测试代码,发现和跟踪 bug。 1.5 文档撰写分工 1.6 进度安排 阶段划 阶段目标 使用的工具和方法 主要活动及工作 阶段周 分 产品 期 阶段一 拟定项目 工具:电脑、手机、老师下发的资料; 确定了开发项目 六 天 “贪吃 方法:通过上网查询资料,以及对老 “贪吃蛇”如何 ( 09. 蛇”在 师的资料的分析和对自身能力的估 在 linux 下实现 03-09 linux 下 测,最终确定项目。 .09) 的实现 2
沈阳航空航天大学课程设计报告 “贪吃 工具:Engintime Linux Lab 活动:资料查询, 蛇”项目 方法:通过资料的查询以及小组成员 搜集和整理; 的需求分 的共同讨论得出了项目需求分析,在 linux 程序的编 析; 此基础上,用 Engintime Linux Lab 写,编译; “贪吃 编写出游戏界面,得出概要设计书。 确定“贪吃蛇” 蛇”游戏 的概要设 计。 分析说明书,概 要设计说明书 “贪吃 工具:Engintime Linux Lab 制定最终的“贪 蛇”详细 方法:这一阶段主要是小组成员共同 吃蛇”详细计划 设计说明 讨论,在 linux 设计编写程序的过程 书 书 中一步一步得出详细的的设计 阶段二 进行测试和 工具:Engintime 整理出软件测试实例 四天 报告撰写 Linux Lab/Office 和报告 方法:这一阶段主要 是通过 Engintime Linux Lab 进行软件测 试,并在测试的过程 中完成对应的报告撰 写 (09.1 0-09.1 4) 3
分享到:
收藏