java程序设计实验报(全源码)

上传人:第*** 文档编号:55265176 上传时间:2018-09-26 格式:PDF 页数:32 大小:459.71KB
返回 下载 相关 举报
java程序设计实验报(全源码)_第1页
第1页 / 共32页
java程序设计实验报(全源码)_第2页
第2页 / 共32页
java程序设计实验报(全源码)_第3页
第3页 / 共32页
java程序设计实验报(全源码)_第4页
第4页 / 共32页
java程序设计实验报(全源码)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《java程序设计实验报(全源码)》由会员分享,可在线阅读,更多相关《java程序设计实验报(全源码)(32页珍藏版)》请在金锄头文库上搜索。

1、 程序设计实践程序设计实践 IIIIII实验报告实验报告 题目题目 贪吃蛇贪吃蛇 成绩 二一五 年 六 月 一 日 1 / 32 程序设计实践程序设计实践 IIIIII实验报告实验报告 题目题目 贪吃蛇贪吃蛇 目录目录 一、程序设计目标 2 二、开发和运行环境. 2 三、系统流程图 2 四、程序类模块及其更能 . 2 五、数据库设计框架. 8 六、程序设计框架 9 七、问题分析及解决方案 . 10 八、实验总结 12 九、源文件 12 2 / 32 一、一、程序设计目标程序设计目标 贪吃蛇游戏已经问世多年,有 PC 版 4 的,也有手机版的。本次游戏开发再一次指 向了 PC 版上,为了能够让多

2、玩家进行 PK,本次设计中,添加了网络排名一项,有助于玩家 在自己玩的时候,又可以与网络玩家进行比较。 二、二、开发和运行环境开发和运行环境 Windows 7 中文版 Java(TM) SE Runtime Environment (build 1.8.0_40-b26) eclipse J2EE 三、三、系统流程图系统流程图 四、四、程序程序类模块及其更能类模块及其更能 (一) 、程序运行状态展示: 开始 结束 游戏运行状态 游戏速度调节 游戏成绩排名 游戏暂停 显示游戏成绩 游戏退出 游戏合法判断 Y N 游戏信息显示 游戏控制 3 / 32 (二) 、程序整体代码结构图 (三) 、程序

3、各类模块分解: 1、Bottom 类 Bottom 类 public Bottom() 4 / 32 此类主要定义了主窗体中底部提示信息位置的内容,其继承了 JTextArea 类,由一个 JTextArea 域完成底部提示信息功能。最终完成的界面如下: 2、Constant 类 Constant 类 public static final int FRAME_HEIGHT; public static final int FRAME_WIDTH; public static final int MAIN_HEIGHT; public static final int MAIN_WIDTH;

4、public static final int SNAKE_l_SPEED; public static final int SNAKE_m_SPEED; public static final int SNAKE_h_SPEED; public static final int REFRESH_HEIGHT; public static final int SNAKE_SIZE; public static final int FOOD_SIZE; public static final ImageIcon icon1; public static final ImageIcon icon2

5、; public static final ImageIcon icon3; 此类是一个常量类, 类中定义了许多类程序中使用的较为频繁的, 且值较为固定的几个 变量。 比如主窗体的高度、 宽度, 游戏画布的高度、 宽度, 蛇身的高度、 宽度, 食物的高度、 宽度,游戏运行速度等等。创建此类主要为整体修改作以简化。 3、Food 类 Food 类 private int x; private int y; public void random(); public int getX(); public int getY(); public void cls(); public Food(); 此类

6、是一个实体类,本类定义了贪吃蛇中食物的信息,包括有食物的坐标 X 和 Y 变量, 及相应的方法。 4、JDBC 类 JDBC 类 private static String driver; private static String url; private static String user; private static String password; public static boolean setScore(int score); public static int getScore(); 此类是一个数据库连接类,此类提供了两个方法,一个方法用于向数据库写数据,一个 从数据库读数

7、据。 所位的数据是指的游戏中的成绩排名, 写数据, 是将本次成绩写进数据库,5 / 32 读数据是指从数据库中将成绩读出来。写数据是一个boolean 类型,写成功返回 true,写 失败返回 false。读数据是个 int类型,将数据放置数组中返回。 5、MainBody 类 MainBody 类 private static final long serialVersionUID; private static MainBody mainBody; private Color bg; private static PublicVariables publicVariables; publi

8、c static Timer timer; private static MyCanvas can; public static MainBody getMainBody(); private MainBody(); private void judge(); private void judge_food(); private void change(); private void setScore() throws IOException; 此类是一个极其重要的类, 此类是游戏界面的主类。 如果没有此类, 游戏便没有了核心。此类中定义了不少变量及方法,几个关键方法有private void

9、 judge(),用于判断下一 步游戏的合法性; private void judge_food(), 用于判断蛇头与食物是否接触, private void change(),用于更新蛇身坐标等等,几个关键变量,比如画布 can。最终完成的界 面如下: 6、MainFrame 类 MainFrame 类 public PublicVariables publicVariables; public MainBody mainbody; public Bottom bottom; public MainMenu mainMenu; public void init(); public stati

10、c void main(String args); 此类是整个程序的入口类,类中 main 方法,即为程序的入口。其中定义一个 JFrame窗体,窗体上分别 add 了一个MainBody 类界面,一个 bottom 类界面,一个 MainMenu 类6 / 32 菜单栏等等,完成了整个界面的创建: 7、MainMenu 类 MainMenu 类 private MainBody mainBody; private JMenu speed; private JMenuItem l; private JMenuItem m; private JMenuItem h; private JMenu

11、look; private JMenuItem b; private JMenuItem w; private JMenu exit; private JMenuItem e; public MainMenu(); private void MenuItemAddActionListener(); 此类是一个继承类,继承了 JMenuBar 类。其中添加了三个JMenu 菜单,第 1 个菜单是 速度,第 2 个菜单是查看,第 3 个菜单是退出,三个菜单中又分别添加子菜单,具体界 面如下: 7 / 32 8、MyCanvas 类 MyCanvas 类 PublicVariables public

12、Variables; private ArrayList snake_list; private Food food; public void paint(Graphics g); 此类是一个继承了Canvas 的类, 其重写 paint 方法, 将蛇, 食物重新绘制在画布上, 并显示出来。 9、Near_Score 类 Near_Score 类 private static JDialog jd; private static String score; Near_Score(int x) throws Exception; private static void getL() throws

13、 Exception; private static void getN(); 此类是一个可独立的类,完成的主要功能是显示本地或网络排名。其中两个私有方法 getL()和 getN()分别完成了获取本地排名成绩数组和获取网络排名成绩数组, 然后返回 给本类的构造方法中使用。 10、PublicVariables 类 PublicVariables 类 private ArrayList snake; private Food food; private int eat; private int score; private boolean tag; private int key; priva

14、te PublicVariables(); public static PublicVariables getPublicVariables(); public ArrayList getSnake(); public Food getFood(); public int getKey(); public void setKey(int _key); public void cls(); public int getEat(); public void setEat(); 8 / 32 public int getScore(); public void setScore(); public

15、void setTag(); public boolean getTag(); 此类是一个单例类, 其任务是为满足各个类之间能够使用同一数据而设立的公共类。 不 管在哪个类中,只要创建此类对象,皆为同一个类对象,数据均为共享的。 11、Snake 类 Snake 类 private int x; private int y; Snake(int x, int y); public int getX(); public void setX(int x); public int getY(); public void setY(int y); 此类是一个实体类,里面定义了蛇身某一块的坐标 X 和 Y,并给出这两个类相应的 Set 和 Get 方法, 用于修改和获取此块蛇身的坐标信息, 还有一个构造方法, 用于创建新的蛇身。 此类可视为较为重要的类,如果没有此类,可以使用点数组代替。 12、Up 类 Up 类 private Color bg; private Color fg; private JTextField eat; private JTextField eat_num; private JButton restart; private JTextField score; private JTextField score_num;

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

当前位置:首页 > 办公文档 > 事务文书

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