贪吃蛇---java课程设计

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

武汉理工大学

课程设计课程名称JA V A 课程设计_ 题目贪吃蛇程序设计

专业电子商务

班级****

学号*******

姓名***

成绩__________________ 指导教师__________________

20**年**月**日

课程设计任务书

设计题目:

设计目的:

1.巩固和加深课堂所学知识;

2.学习掌握一般的软件的设计方法和查阅、运用资料的能力;

3.掌握JA V A程序设计语言,面向对象的软件设计思想、方法。

设计任务:(在规定的时间内完成下列任务)

1、任务:设计一个贪吃蛇的游戏

功能要求:能够显示贪吃蛇的运动,能通过键盘控制贪吃蛇的运行,能够处理蛇在运行中个各种情况,以及其它的辅助功能;

要提供主要的设计思路、数据结构的设计。

2、设计任务要完成设计、编码、测试等过程,给出设计思路、设计说明书、主要的代码

的说明、使用说明书。源代码以及可运行的贪吃蛇游戏。

时间安排:

具体要求:设计报告撰写格式要求(按提供的设计报告统一格式撰写)

具体内容如下:

①设计任务与要求

②总体方案与说明

③面向对象的设计(主要类的设计)

④源程序清单与注释

⑤软件主要模块流程图

⑥问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、

解决方法及改进设想);

⑦小结与体会

附录:①源程序(必须有简单注释)②使用说明③参考资料

指导教师签名:年月日

教研室主任(或责任教师)签名:年月日

游戏界面设置包括:游戏区设置、游戏帮助信息设置、游戏分数查看区。

游戏界面使用简单和直观的布局设计,游戏区放置在界面的主题位置上,在游戏区上部放置分数,在游戏区下部放置使用说明帮助,具体设计效果如图2-1所示。

图2-1游戏主题界面设计效果

2.2.2贪吃蛇蛇身及运动设置

贪吃蛇的蛇身设置是整个游戏设计的关键。它的基本思路是:去掉蛇尾,显示并移动出蛇头外蛇身,根据蛇身的运动方向,决定蛇头的位置,完成蛇头吃食物的处理操作,显示蛇头。

而蛇运动的四个方向,则通过按键来控制。蛇吃到一个食物,就加分。每次食物出现的位置不能在蛇身上,如果蛇在运动的过程中撞到自己或者撞墙,则游戏结束,具体效果如图2-2所示,图2-2就是蛇撞到墙之后,提示游戏结束。

图2-2 贪吃蛇撞墙后效果

2.2.3游戏控制设置

游戏控制设置就是控制游戏的暂停与开始。设置PageUp(加速), PageDown(减速)按键来控制速度,设置空格或着p按键来暂停进行中的游戏,设置ENTER或着R或者S按键来开始暂停的游戏。

3.面向对象的设计

贪吃蛇游戏各模块及程序流程有若干类实现,下面阐述各个类的设计与实现。

3.1 GreedSnake类

该类包含六个主要的功能方法,分别是:

(1)构造函数public GreedSnake(),主要用来设置用户控制界面。

(2)public void keyPressed()方法,主要用来对游戏的按键操作进行处理。

(3)void repaint()主要用来绘制游戏界面包括蛇和食物。

(4)private void drawNode()主要用来绘制某一结点。

(5)public void updateScore()方法主要用来改变积分器。

(6)void begin()方法用来控制游戏的开始界面。

5.软件主要模块流程图

软件的主要模块流程如下图5-1所示。

图5-1 软件主要模块流程图

6.问题分析与解决方案

通过NetBeans来运行程序。

6.1问题一

问题一:游戏在运行过程中不能暂停

解决方法:在游戏中增加暂停控制

panelButtom.add(labelHelp, BorderLayout.CENTER);

labelHelp = new JLabel("按空格或 p 暂停 ", JLabel.CENTER);

6.2问题二

问题二:贪吃蛇在吃掉一个食物后,不能实现分数累加

解决方案:定义updateScore专门统计分数,每吃掉一个食物,累加分数 public void updateScore() {

String s = "分数: " + snakeModel.score;

相关文档
最新文档