1、课程设计说明书 NO.1 贪吃蛇程序设计贪吃蛇程序设计 1.程序设计的目的程序设计的目的 Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。 面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而 且有利于软件的维护和继承。 为了对所学的课程进行加深理解,熟练的掌握JAVA的语法与语句,对其进行 应用。通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌 握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。为了进一步巩固课堂上所学 到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼我们熟练的应
2、用面 向对象的思想和设计方法解决实际问题的能力。使我们通过进行课程设计,把所学课程 及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法, 为今后从事实际工作打下坚实的基础。通过课程设计来对JAVA语言有更深的了解,以 及应用。 2.设计方案论证设计方案论证 2.1 系统模块图系统模块图 如图 1 所示 图图 1 1 系统模块图系统模块图 课程设计说明书 NO.2 2.2 主要部分流程图主要部分流程图 如图 2 所示: 图图 2 主要流程图主要流程图 课程设计说明书 NO.3 2.3 设计思路及具体实现方法设计思路及具体实现方法 2.3.1 产生一个窗口产生一个窗口
3、(1)定义一个框架,确定大小。其大小使 600,400; (2)定义一个贪吃蛇的类,确定其大小比例; (3)在窗口上方定义一个 Score 得分; (4) 在窗口的下方定义各按钮的位置。 2.3.2 使贪吃蛇运动起来使贪吃蛇运动起来 通过函数的调用,使贪吃蛇运动起来,用按键来调节贪吃蛇的运动方向,运动的速 度。 2.3.3 定义各功能键的作用定义各功能键的作用 (1) PageUp 使贪吃蛇加速,减速。并确定其按键位置; (2) PageDown 使贪吃蛇减速。并确定其按键位置; (2) ENTER ,R ,S 重新开始游戏,界面回到开始界面; (3) SPACE ,P 暂停游戏。 2.3.4
4、 使使贪吃蛇贪吃蛇听指挥听指挥 (1)加键盘监听器类; (2)添加键盘监听器; (3)定义其按键上,下,左,右; (4)针对不同的键改变贪吃蛇的位置,与重画线程结合产生不同方向运动。通过上下 左右来调节。 2.3.5 进行贪吃蛇类的确定进行贪吃蛇类的确定 (1)定义背景的颜色为白色; (2)定义贪吃蛇的颜色为黑色; (3)定义食物的颜色为红色。 2.3.6 食物出现的位置食物出现的位置 通过随机函数调用,实现食物的出现,当贪吃蛇吃完一各食物,随即再生成一个食 物。 2.3.7 贪吃蛇身增加一节贪吃蛇身增加一节 运用 for 函数实现,当贪吃蛇每吃到食物,贪吃蛇蛇身就增加一节,然后在框 架中又重
5、新出现新的食物。 2.3.8 得分增加 当贪吃蛇每吃到一块食物,贪吃蛇蛇身就增加一节,分数就有次序的增加。 在框架的上方有显示。 2.3.9 贪吃蛇死亡 (1)当贪吃蛇撞到框架或自身的时候,则贪吃蛇死亡。然后弹处一个对话框, 显示 you failed。 (2)如果想继续游戏,点击“确定” ,再按 ENTER ,R ,S 重新开始游戏,界 面回到开始界面。 2.3.10 游戏结束 显示 you failed,你取消对话框即退出了贪吃蛇游戏。 课程设计说明书 NO.4 2.4 设计设计的源代码的源代码 import java.awt.*; import java.awt.event.*; imp
6、ort javax.swing.*; import java.util.*; public class GreedSnake implements KeyListener JFrame mainFrame; Canvas paintCanvas; JLabel labelScore; SnakeModel snakeModel = null; public static final int canvasWidth = 600; public static final int canvasHeight = 400; public static final int nodeWidth = 10; public static final int nodeHeight = 10; public GreedSnake() mainFrame = new JFrame(“GreedSnake“); Container cp = mainFrame.getCo