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

📄 board.java

📁 J2ME的炸弹人游戏.初学J2ME的好资料.玩家可控制一个老鼠进行游戏.
💻 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; i++ )
			for( int j=0; j<iRows; j++ )
				chBoard[i][j] = 'N';

		// Fill pillars
		for( int i=1; i<iCols; i+=2 )
			for( int j=1; j<iRows; j+=2 )
				chBoard[i][j] = 'L';
		
		// Fill walls
		for( int i=0; i<iCols; i++ )
			for( int j=0; j<iRows; j++ )
				if( chBoard[i][j] == 'N' )
					if( Math.abs( random.nextInt() ) % 2 == 0 )
						chBoard[i][j] = 'W';
	}
	
	public boolean isElement( char ch, int x, int y ) {
		if( x < 0 )
			return false;

		if( x >= 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 ) );
	}
}

⌨️ 快捷键说明

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