贪吃蛇系列之二——游戏窗口的建立

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-27 19:27:57

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

      下面,我们废话不多说,就开始我们的贪吃蛇小项目。首先,我们打开我们的Eclipse,孤狼用的呢是比较新的版本,Eclipse 4.2.0的,没有Eclipse工具的朋友呢,可以到Eclipse的官方网站http://www.eclipse.org/platform进行下载。在接下来的博文中,孤狼将分多个版本来逐步的完善我们的贪吃蛇游戏。
      我们建立一个新的Java项目,Snake01,在这个版本中,我们将先将游戏的窗口创建出来,那么下面,我们就开始Coding吧。最为一名好的程序员,我们最好再一开始就养成比较好的编程习惯,学会建包就是一个好的开始。首先,我们创建游戏的主窗口类GameView类,并将这个类放在com.gulang.snake.view下面,如下图:

      接下来,我们开始对GameView进行编码,大家直接看代码,我会在后面进行解释:

package com.gulang.snake.view;

import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;

public class GameView extends JFrame {
	
	//这个可以暂时不管,生成就可以
	private static final long serialVersionUID = 3837225457557850394L;
	/** 游戏窗口的标题 */
	public static final String GAME_TITLE = "贪吃蛇";
	/** 窗口的初始化位置的横坐标 */
	public static final int WINDOW_X = 100;
	/** 窗口的初始化位置的纵坐标 */
	public static final int WINDOW_Y = 100;
	/** 窗口的宽度 */
	public static final int WINDOW_WIDTH = 800;
	/** 窗口的高度 */
	public static final int WINDOW_HEIGHT = 600;
	
	/**
	 * 游戏的构造方法,我们将在这里初始化和游戏相关的数据和信息
	 */
	public GameView(){
		initGameView();
	}
	
	/**
	 * 初始化和游戏的界面相关的信息
	 */
	private void initGameView() {
		//设置游戏窗口的标题
		this.setTitle(GAME_TITLE);
		//设置窗口的初始化位置
		this.setLocation(WINDOW_X, WINDOW_Y);
		//设置窗口的大小
		this.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
		//设置窗口的背景色
		this.setBackground(Color.WHITE);
		//给窗口添加关闭的事件
		this.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		//将窗口设置为不可以最大化
		this.setResizable(false);
		//显示窗口
		this.setVisible(true);
	}

	/**
	 * 游戏程序从这里开始
	 * @param args
	 */
	public static void main(String[] args) {
		new GameView();
	}

}
下面我将这里面的几个难点进行简单的描述:
  1. 因为我们要显示一个窗口,因此我们的GameView需要从JFrame进行继承,这是Java为我们提供的一个窗口的父类。当然,你还有其他的组件可以使用,比如说JPanel,我们这里进行简化处理,使用JFrame。
  2. 大家可以看见我们使用了常量来保存必要的信息,这些也是好的编程习惯的开始,适当的使用常量将改善我们代码的可读性与可维护性。
  3. 对于下面这段代码,这是在为我们当前的窗口设置监听器,而所谓的监听器呢,简单来说就是我们制定程序在特定的环境下需要执行的代码,下面这段代码的意思就是当程序检测到窗口正在关闭的时候,就执行我们制定的windowClosing中的代码,从而达到退出游戏的作用。
    this.addWindowListener(new WindowAdapter() {
    			@Override
    			public void windowClosing(WindowEvent e) {
    				System.exit(0);
    			}
    		});

我把代码都放在迅雷快传上了,大家奔走相告吧,这里给出链接,一篇博文对应一个项目文件,大家直接导入工程就可以运行: 
http://kuai.xunlei.com/d/nNdkCUf1HBXTUAQA44e

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!