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

文章介绍了对Java编写的贪吃蛇游戏进行的优化,包括添加了登录系统以增强安全性,增加了积分排行功能和计时功能,并能保存用户游戏记录。游戏基于SWING框架开发,支持Eclipse和IDEA环境,使用MySQL作为数据库。作者强调了代码结构清晰、模块化和调试的重要性。
摘要由CSDN通过智能技术生成

  今天继续为大家分享一个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)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值