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 ) );
}
}