貪吃蛇系列之二——遊戲窗口的創建

      下面,咱們廢話很少說,就開始咱們的貪吃蛇小項目。首先,咱們打開咱們的Eclipse,孤狼用的呢是比較新的版本,Eclipse 4.2.0的,沒有Eclipse工具的朋友呢,能夠到Eclipse的官方網站http://www.eclipse.org/platform進行下載。在接下來的博文中,孤狼將分多個版原本逐步的完善咱們的貪吃蛇遊戲。
      咱們創建一個新的Java項目,Snake01,在這個版本中,咱們將先將遊戲的窗口建立出來,那麼下面,咱們就開始Coding吧。最爲一名好的程序員,咱們最好再一開始就養成比較好的編程習慣,學會建包就是一個好的開始。首先,咱們建立遊戲的主窗口類GameView類,並將這個類放在com.gulang.snake.view下面,以下圖: java

      接下來,咱們開始對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 編程

相關文章
相關標籤/搜索