⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultgridmodel.java

📁 Java编写的小游戏扫雷代码,可以在多种环境下运行
💻 JAVA
字号:
package org.nebula.cwt.grid;

import java.util.Vector;
import javax.swing.event.EventListenerList;

public class DefaultGridModel implements GridModel {
	protected Object blocks[][];
	protected int cols,rows;

    /**
     * Listeners.
     */
   protected EventListenerList listenerList = new EventListenerList();

	public DefaultGridModel(int c, int r){
		cols = c;
		rows = r;

		blocks = new Object[cols][rows];
		for (int i = 0 ; i < cols ; i++)
		for (int j = 0 ; j < rows ; j++) {
			blocks[i][j] = null;
		}
	}

	/**
	 * AbstractGridModel subclasses must call this method <b>after</b>
	 * one or more chessmen removed.
	 *
	 * @see EventListenerList
     */
    public void fireDataChanged(){
		Object[] listeners = listenerList.getListenerList();

		for (int i = listeners.length - 2; i >= 0; i -= 2) {
	   		if (listeners[i] == GridModelListener.class) {
				((GridModelListener) listeners[i+1]).gridDataChanged();
	   		}
		}
	}

	/**
	 * Add a listener to the Grid that's notified each time a change
	 * to the data model occurs.
	 * @param l the GridDataListener
	 */
	public void addGridModelListener(GridModelListener l) {
		listenerList.add(GridModelListener.class, l);
    }

    /**
	 * Remove a listener from the Grid that's notified each time a
	 * change to the data model occurs.
	 * @param l the GridDataListener
	 */
	public void removeGridModelListener(GridModelListener l) {
		listenerList.remove(GridModelListener.class, l);
    }

	public int getColumns() {
		return cols;
	}

	public int getRows() {
		return rows;
	}

	public Object getObject(int x, int y) {
		return blocks[x][y];
	}

	public void setObject(int x, int y, Object obj) {
		blocks[x][y] = obj;
		fireDataChanged();
    }

    public boolean isEmpty(int x, int y) {
        if (blocks[x][y] == null) return true;
        else return false;
    }

    public void reset(int c, int r){
		cols = c;
		rows = r;

		blocks = new Object[cols][rows];
		for (int i = 0 ; i < cols ; i++)
		for (int j = 0 ; j < rows ; j++) {
			blocks[i][j] = null;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -