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

📄 bombblock.java

📁 非常好的java collapse游戏代码
💻 JAVA
字号:
/* JCollapse - Java Collapse Game
 * Copyright (C) 2005 Erico Gon鏰lves Rimoli
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

package sourceforge.net.projects.jcollapse.engine.block;

import sourceforge.net.projects.jcollapse.engine.board.Board;

public class BombBlock extends AbstractBlock {

	private String m_NameOfBlockToDestroy;
	
	/**
	 * IMPORTANT:<br>
	 * Prefer to use this construtor because this class initialize internal array
	 * with width and height values. You get more agility in first call to the
	 * touched method.
	 * @param name the name of Block
	 * @param enable Block are enabled or not
	 * @param nameOfBlockToDestroy the name of Block to destroy
	 */
	public BombBlock( String name, boolean enable, String nameOfBlockToDestroy ) {
		super( name, enable );
		setNameOfBlockToDestroy( nameOfBlockToDestroy );
	}
	
	/**
	 * Get the name of Block that will be destroyed
	 * @return the name of Block that will be destroyed
	 */
	public String getNameOfBlockToDestroy() {
		return m_NameOfBlockToDestroy;
	}
	
	/**
	 * Set the name of Block that will be destroyed
	 * @param nameOfBlockToDestroy the name of Block that will be destroyed
	 */
	public void setNameOfBlockToDestroy( String nameOfBlockToDestroy ) {
		m_NameOfBlockToDestroy = nameOfBlockToDestroy;
	}
	
	/* (non-Javadoc)
	 * @see sourceforge.net.projects.jcollapse.engine.block.Block#touched(int, int, sourceforge.net.projects.jcollapse.engine.board.Board)
	 */
	public int touched( int x, int y, Board board ) {
		int count;
		
		//if is not enabled
		if( !isEnabled() )
			return 0;

		//count aways >= 1
		count = 1;
		
		//remove the touched Block
		board.clearBlock( x, y );
		
		//remove Block's
		for( int x1 = 0; x1 < board.getBoardWidth(); x1++ )
			for( int y1 = 0; y1 < board.getBoardHeight(); y1++ )
				if( board.getBlock( x1, y1 ) != null && 
					( board.getBlock( x1, y1 ).getName().equals( getNameOfBlockToDestroy() ) ||
					  board.getBlock( x1, y1 ) == this ) ) 
				{
					board.clearBlock( x1, y1 );
					count++;
				}
		
		return count;
	}
}

⌨️ 快捷键说明

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