www.pudn.com > jbombman.rar > Board.java


package example.jbombman; 
 
import java.util.*; 
 
public class Board { 
	public char[][] chBoard; 
	/* 
		N - None 
		W - Wall 
		L - Pillar 
		P - Player 
		E - Enemy 
		B - Bomb 
		U - Bomb under player 
		X - Exploding 
	*/ 
	private	Random random; 
	public int iCols, iRows; 
	public volatile boolean isGameOver; 
	public volatile boolean isWin; 
	 
	public Board( int cols, int rows ) { 
		random = new Random(); 
		 
		iCols = cols; 
		iRows = rows; 
		chBoard = new char[iCols][iRows]; 
		 
		init(); 
	} 
 
	public void init() { 
		isGameOver = false; 
		isWin = false; 
	 
		for( int i=0; i= iCols ) 
			return false; 
 
		if( y < 0 ) 
			return false; 
 
		if( y >= iRows ) 
			return false; 
 
		return( chBoard[x][y] == ch ); 
	} 
	 
	public char getElement( int x, int y ) { 
		if( x < 0 ) 
			return '?'; 
 
		if( x >= iCols ) 
			return '?'; 
 
		if( y < 0 ) 
			return '?'; 
 
		if( y >= iRows ) 
			return '?'; 
 
		return chBoard[x][y]; 
	} 
	 
	public void setElement( char ch, int x, int y ) { 
		if( ch == '?' ) 
			return; 
	 
		if( x < 0 ) 
			return; 
 
		if( x >= iCols ) 
			return; 
 
		if( y < 0 ) 
			return; 
 
		if( y >= iRows ) 
			return; 
 
		chBoard[x][y] = ch; 
	} 
 
	public boolean near( char ch, int x, int y ) { 
		return isElement( ch, x-1, y )||isElement( ch, x, y-1 ) 
				||isElement( ch, x+1, y )||isElement( ch, x, y+1 ); 
	} 
	 
	public boolean near2( char ch, int x, int y ) { 
		return ( isElement( ch, x-1, y )&&isElement( ch, x-2, y ) ) 
				||( isElement( ch, x, y-1 )&&isElement( ch, x, y-2 ) ) 
				||( isElement( ch, x+1, y )&&isElement( ch, x+2, y ) ) 
				||( isElement( ch, x, y+1 )&&isElement( ch, x, y+2 ) ); 
	} 
}