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

📄 player.java

📁 这是个j2me的手机炸弹人JAVA源码好游戏
💻 JAVA
字号:
package com.mot.j2me.midlets.jbombman;

import java.util.*;

public class Player {
	private Board oBoard;
	private BoardView oBoardView;
	private Enemy oEnemy;
	private Bomb oBomb;
	private Random random;
	
	private int iX, iY;
	
	public Player( Board board, BoardView boardview ) {
		oBoard = board;
		oBoardView = boardview;

		random = new Random();

		init();
	}
	
	public void init() {
		while( true ) {
			iX = Math.abs( random.nextInt() ) % oBoard.iCols;
			iY = Math.abs( random.nextInt() ) % oBoard.iRows;
			
			if( oBoard.chBoard[iX][iY] != 'N' )
				continue;
				
			if( oBoard.near( 'E', iX, iY ) )
				continue;
				
			if( !oBoard.near2( 'N', iX, iY ) )
				continue;
				
			break;
		}
		
		oBoard.chBoard[iX][iY] = 'P';
	}
	
	public void setEnemy( Enemy enemy ) {
		oEnemy = enemy;
	}
	
	public void clearBomb() {
		oBomb = null;
		System.out.println( "delete Bomb" );
	}
	
	private boolean canGo( int x, int y ) {
		if( oBoard.isElement( 'N', x, y ) )
			return true;
			
		if( oBoard.isElement( 'E', x, y ) )
			die();
			
		return false;
	}

	public void fire() {
		oBomb = new Bomb( oBoard, oBoardView, this, oEnemy, iX, iY );
		oBomb.start();
		
		System.out.println( "new Bomb: x=" + iX + ", y=" + iY );
	}
	
	public void left() {
		if( !canGo( iX-1, iY ) )
			return;
			
		if( oBoard.chBoard[iX][iY] == 'U' )
			oBoard.chBoard[iX][iY] = 'B';
		else //Should be 'P'
			oBoard.chBoard[iX][iY] = 'N';

		iX--;
		oBoard.chBoard[iX][iY] = 'P';
		
		oBoardView.repaintCells( iX, iY, 2, 1 );
	}
	
	public void right() {
		if( !canGo( iX+1, iY ) )
			return;
			
		if( oBoard.chBoard[iX][iY] == 'U' )
			oBoard.chBoard[iX][iY] = 'B';
		else //Should be 'P'
			oBoard.chBoard[iX][iY] = 'N';

		iX++;
		oBoard.chBoard[iX][iY] = 'P';
		
		oBoardView.repaintCells( iX-1, iY, 2, 1 );
	}
	
	public void up() {
		if( !canGo( iX, iY-1 ) )
			return;
			
		if( oBoard.chBoard[iX][iY] == 'U' )
			oBoard.chBoard[iX][iY] = 'B';
		else //Should be 'P'
			oBoard.chBoard[iX][iY] = 'N';

		iY--;
		oBoard.chBoard[iX][iY] = 'P';
		
		oBoardView.repaintCells( iX, iY, 1, 2 );
	}
	
	public void down() {
		if( !canGo( iX, iY+1 ) )
			return;
			
		if( oBoard.chBoard[iX][iY] == 'U' )
			oBoard.chBoard[iX][iY] = 'B';
		else //Should be 'P'
			oBoard.chBoard[iX][iY] = 'N';

		iY++;
		oBoard.chBoard[iX][iY] = 'P';
		
		oBoardView.repaintCells( iX, iY-1, 1, 2 );
	}
	
	public void die() {
		System.out.println( "Player die: x=" + iX + ", y=" + iY );

		oEnemy.dieAll();
		oBoard.isGameOver = true;
		oBoardView.repaint();
	}
}

⌨️ 快捷键说明

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