优化后的贪吃蛇游戏 带详细设计报告 功能非常齐全 完整源码

  今天继续为大家分享一个java语言编写的贪吃蛇系统,在之前的博客中已经进行过详细的介绍。由于前段时间稍微空了一点,我对贪吃蛇游戏游戏进行了相关的优化。在本文中,我主要对贪吃蛇的优化的功能进行详细的介绍。

开发环境

    开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

   利用JDK自带的SWING框架开发,下载。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。

系统主要功能

   系统开发背景

贪吃蛇游戏的设计比较复杂,它涉及面广、知识点比较多,如果不好好考虑和设计,将难以成功开发出运行流畅,界面友好的游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于Java7,在eclipse里面开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏程序分为二个功能模块,实现了游戏的开始、暂停、结束,背景改变,设置速度,统计游戏积分等。通过贪吃蛇游戏的开发,把课堂上学到的java技术运用到实际的项目中来。

    优化后的主要功能

1 页面的登录功能。为了系统的安全,对本系统进行了加固,必须进行登录。只有数据库用户名和密码正确,才能登录到系统中。否则无法玩贪吃蛇游戏

2 增加积分排行功能。任何一个用户登录系统后,点击积分排行功能,可以看到积分排行功能

3 增加计时功能。增加游戏的计时功能,并且实时显示在主界面上

4 保存用户玩游戏的记录,同时存储在数据库中,可以在需要的时候调出来。

实现效果

    1 登陆界面

 

    2 注册界面

   3 主界面

  4 设置颜色

  5 设置难度

  6  积分排行

 

 7 使用帮助

 关键代码

public class GameFrame extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static void main(String[] args) {
		//new GameFrame(new Controller(new Snake(), new Food(), new Ground(), 
				//new GamePanel(), new GameMenu(),new BottonPanel()));

	}
	
	
	public static void startGame() {
		new GameFrame(new Controller(new Snake(), new Food(), new Ground(), 
				new GamePanel(), new GameMenu(),new BottonPanel()));

	}

	
	//各对象
	private GamePanel gamePanel;
	private GameMenu gameMenu;
	private Snake snake;
	//private Food food;
	//private Ground ground;
	private Controller controller;	
	private JPanel buttonPanel;

	
	
	public GameFrame(Controller c) {
		this.controller = c;
		snake = controller.getSnake();
		gameMenu = controller.getGameMenu();
		gamePanel = controller.getGamePanel();
		buttonPanel = controller.getBottonPanel();
		
		setTitle("课程设计------贪吃蛇游戏");
		setBounds(300,100,Global.WIDTH*Global.CELL_SIZE+250,Global.HEIGHT*Global.CELL_SIZE+60);
		setLayout(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container contentPane = this.getContentPane(); 		
		this.setJMenuBar(gameMenu);
		
		contentPane.add(gamePanel);
		contentPane.add(buttonPanel);
		
		setResizable(false);
		setVisible(true);

		
		/* 让窗口居中 */
		this.setLocation(this.getToolkit().getScreenSize().width / 2
				- this.getWidth() / 2, this.getToolkit().getScreenSize().height
				/ 2 - this.getHeight() / 2);
		
		
		gamePanel.addKeyListener(controller);
		snake.addSnakeListener(controller);	
		controller.newGame();
	}
	
}

项目总结

(1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。

(2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。

(3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。

(4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性

(5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。

(6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。

猜你喜欢

转载自blog.csdn.net/bangxiecode/article/details/131906989