计算机科学与关键技术专业综合专业课程设计方案报告.doc

上传人:汽*** 文档编号:548256029 上传时间:2023-10-23 格式:DOC 页数:32 大小:386.04KB
返回 下载 相关 举报
计算机科学与关键技术专业综合专业课程设计方案报告.doc_第1页
第1页 / 共32页
计算机科学与关键技术专业综合专业课程设计方案报告.doc_第2页
第2页 / 共32页
计算机科学与关键技术专业综合专业课程设计方案报告.doc_第3页
第3页 / 共32页
计算机科学与关键技术专业综合专业课程设计方案报告.doc_第4页
第4页 / 共32页
计算机科学与关键技术专业综合专业课程设计方案报告.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《计算机科学与关键技术专业综合专业课程设计方案报告.doc》由会员分享,可在线阅读,更多相关《计算机科学与关键技术专业综合专业课程设计方案报告.doc(32页珍藏版)》请在金锄头文库上搜索。

1、 计算机科学和技术专业12级综合课程设计汇报题目: 贪吃蛇小游戏 组员: 姓名 学号 郝兴明 07051 指导老师: 王金龙 开始日期: 年 12月 7 日 完成日期: 年 01月 8 日 级综合课程设计评价表题 目贪吃蛇小游戏指导老师王金龙项 目 内 容 简 介此次综合课程设计内容为“贪吃蛇”小游戏,游戏操作简单,设计却很复杂,关键实现内容为:经过键盘控制蛇移动,判定蛇是否死亡,和经过对应按钮来控制游戏进程。评价工作量 (饱满、达成要求、不饱满);运行效果 (良好、有小问题、错误较多);文档及汇报撰写 (规范、较规范、 不规范、未提交);答辩 (优异、良好、 通常、 较差);团体分工及协作

2、(很好、很好、 通常、 较差)。成绩学 号姓 名组内分工贡献排名成 绩郝兴明程序设计、编写、测试、汇报答辩小组签字青岛理工大学课程设计任务书姓 名 组内分工 郝兴明 程序设计、编写、测试、汇报 院 (系): 计算机工程 专 业: 计算机科学和技术 任务起至日期: 12月 7 日 至 01月 8 日 课程设计题目: 贪吃蛇小游戏 关键内容及要求: “贪吃蛇”小游戏关键应实现以下多个方面功效:1. 经过方向键控制蛇移动2.蛇吃到食物后身体变长3.食物随机产生4.蛇吃到自己身体或墙后死亡5.蛇在移动过程中能够暂停/继续6.可手动停止游戏工作计划安排:12月07日-12月10日 需求分析12月11日-

3、12月15日 概要设计12月16日-12月20日 框架搭建12月21日-12月30日 具体功效设计12月31日-01月03日 程序测试01月04日-01月05日 书写汇报01月06日 项目答辩第1部分 概述1. 内容介绍“贪吃蛇”是一款经典小游戏,以其操作简单、娱乐性强而广受欢迎。一条蛇在封闭围墙内移动,在围墙内随机出现一个食物,经过键盘方向键来控制蛇移动,当蛇吃到食物后蛇身体长一节,同时出现一个新食物等候蛇去吃,假如蛇在移动过程中蛇头吃到自己身体或吃到围墙石头,则蛇死亡,游戏结束。作为一个小游戏,设计中必需要考虑人机交互和用户体验,所以游戏界面应简练直观,让用户可直接了解游戏操作。“贪吃蛇”

4、设计对java编程提升和进阶是一次很好锻炼机会。此次设计使用java语言,经过GUI编程、线程、事件监听等技术来实现游戏开发,功效即使较少,但游戏基础功效全部含有,可正常进行游戏。2. 功效介绍“贪吃蛇”小游戏设计较复杂,要想实现全部功效需要很高技术要求和很强编程能力。因为本人技术能力欠缺,所以只能实现基础游戏功效,经过画图方法来显示出蛇身体,食物位置和墙位置。关键操作是经过键盘方向键来控制蛇移动方向,无效方向要忽略;当蛇吃到食物时蛇身体变长一节,同时产生一个新食物;蛇吃到自己身体或吃到石头时死亡,游戏结束;在游戏控制区域可经过对应按钮来控制游戏运行进度。3. 设计环境此次游戏设计环境及开发工

5、具以下:运行环境:Windows 7编程语言:java开发环境:eclipse第2部分 需求分析1 用户特点分析游戏开发成功后,可适适用于各类人群使用,所以要求界面简单,操作方便, 不需要进行专门培训就能够学会怎样操作2.功效需求2.1图形界面需求游戏画布区关键包含蛇身体出现位置,食物随机出现位置,墙固定位置,和蛇可移动区域。游戏控制区域显示按钮及操作提醒。2.2属性需求在可使用性方面,要求各个功效实现简单,操作方便,系统处理正确;整个系统恢复性能号,链接速度快,以确保系统可适用性好。另外,还要求系统可扩展性、可维护性、可移植性良好。2.3功效模块需求软件开发过程中功效模块设计,关键处理实现该

6、游戏需求程序模块设计问题。包含怎样把该游戏划分成若干个模块、决定各个模块之间接口、模块之间穿信息,和模块结构设计等。2.3.1游戏功效本游戏关键完成以下几方面功效:1) 游戏控制功效2) 界面布局3) 其它辅助功效2.3.2功效模块划分依据游戏需求,整个游戏关键划分为游戏界面和游戏控制两个模块。见图2.1 。游戏界面是整个游戏运行区域,可动态观察游戏过程。游戏控制是用来控制游戏进程,能够开始游戏,暂停/继续游戏,停止游戏。贪吃蛇游戏游戏界面模块游戏控制模块图2.1 游戏模块划分第3部分 系统设计1. 系统步骤图系统步骤图是描绘系统物理模型传统工具。它基础思想是用图形符号描绘系统里面每个部件,表

7、示信息在各个部件之间流动情况。开始游戏控制蛇移动身体变长是否吃到自己 是 是 是否吃到食物 否 否 是否撞墙 否游戏结束蛇死亡是 图3.1 系统步骤图2.类模块设计此次设计遵照MVC设计模式,关键类之间关系以下:Snake类(蛇类)Game类(主面板)Controller类(控制器)Ground类(墙类)Food类(食物类) 图3.2 MVC设计模式表现Snake类:设置蛇属性,和蛇产生、移动、吃食物、死亡等方法。Food类:设置食物随机产生和是否被吃掉等方法。Controller类:监听Snake类和按键事件,并进行处理。Game类:用来控制游戏进程和界面显示。3.各类具体设计表3.1 Sn

8、ake类组员作用private boolean pause;判定是否暂停private boolean life;判定蛇是否死亡private boolean isMoving;判定蛇是否在移动private LinkedListbody;存放蛇身体节点private void init();初始化方法public void move();蛇移动方法public void drawMe(Graphics g);画出蛇身体public void start();让蛇开始移动public void die();让蛇死亡表3.2 Food类:Public void newFood(Point p);

9、设置食物产生位置Public Boolean isSnakeEatFood(Snake snake);判定蛇是否吃到食物public void drawMe(Graphics g);在画布上画出食物表3.3 Ground类:Private int rocks;存放石头数组Public Ground();初始化石头Public Boolean isSnakeEatRock(Snake snake);判定是否吃到石头Public Point getPoint();设置食物产生位置public void drawMe(Graphics g);在画布上画出石头表3.4 Controller类:Publ

10、ic Controller(Snake snake,Food food,Ground ground,GamePanel gamePanel);初始化控制器类Public void keyPressed(KeyEvent e);监听按键事件Public void snakeMoved(Snake snake);监听蛇移动Public void newGame();创建新游戏Public void setSnake(Snake snake);设置蛇第4部分 系统实现1. 界面展示“贪吃蛇”小游戏适合广大群体,故界面应以简练直观为主,让玩家一眼便可了解游戏操作。具体游戏界面以下:游戏初始化界面图 4

11、.1 游戏初始化界面游戏开始界面图 4.2 游戏开始运行界面游戏结束界面图 4.3 游戏结束界面2.游戏具体实现代码2.1游戏画布区public void display(Snake snake,Food food,Ground ground)System.out.println(GamePanels display);this.snake = snake;this.food = food;this.ground = ground;this.repaint();protected void paintComponent(Graphics g)g.setColor(new Color(0xcfcfcf);g.fillRect(0, 0, Global.WIDTH * Global.CELL_SIZE, Global.HEIGHT * Global.CELL_SIZ

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号