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

📄 enemymanager.java.bak

📁 一个用Java开发的射击类游戏
💻 BAK
字号:
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
import java.io.IOException;

public class EnemyManager implements Runnable
{
	private int	totalEnemyNumber = 0;
	private Enemy	enemyArray[] = null;
	private int	currentDisplayEnemyNumber = 0;

	//动画管理器
	private FlashManager	flashManager = null;
	
	public EnemyManager(WallManager tempWallManager, FlashManager tempFlashManager)
	{
		flashManager = tempFlashManager;
		try
		{
			Image tempEnemyImage = Image.createImage("/enemy.png");
			Enemy	tempEnemy = null;
			enemyArray = new Enemy[War.DISPLAY_ENEMY_NUMBER];
			for (int i = 0; i < War.DISPLAY_ENEMY_NUMBER; i++)
			{
				tempEnemy = new Enemy(tempEnemyImage, tempWallManager);
				//敌人状态默认为隐藏
				tempEnemy.setVisible(false);
				enemyArray[i] = tempEnemy;
			}
		}
		catch (IOException ie)
		{
		}
		new Thread(this).start();
	}
	public void run()
	{
		while (!stop)
		{
			if (currentDisplayEnemyNumber < War.DISPLAY_ENEMY_NUMBER && totalEnemyNumber < War.MAX_ENEMY_NUMBER)
			{
				addEnemy();
			}
			try
			{
				Thread.sleep(5000);
			}
			catch (InterruptedException ie)
			{
			}
		}
	}
	public void addEnemy()
	{
		if (totalEnemyNumber == War.MAX_ENEMY_NUMBER)
		{
			return;
		}
		totalEnemyNumber++;
		currentDisplayEnemyNumber++;
		for (int i = 0; i < War.DISPLAY_ENEMY_NUMBER; i++)
		{
			if (!enemyArray[i].isVisible())
			{
				enemyArray[i].setVisible(true);
				enemyArray[i].setPosition(War.ENEMY_DISPLAY_X, War.ENEMY_DISPLAY_Y);
				break;
			}
		}
	}
	public void updateEnemy(Graphics g)
	{
		for (int i = 0; i < War.DISPLAY_ENEMY_NUMBER; i++)
		{
			if (enemyArray[i].isVisible())
			{
				enemyArray[i].move();
				enemyArray[i].paint(g);
			}
		}
	}
	public boolean collidesWith(Sprite tempSprite)
	{
		for (int i = 0; i < War.DISPLAY_ENEMY_NUMBER; i++)
		{
			if (enemyArray[i].isVisible() && enemyArray[i].collidesWith(tempSprite, false))
			{
				enemyArray[i].setVisible(false);
				flashManager.startFlash(enemyArray[i].getX(), enemyArray[i].getY());
				currentDisplayEnemyNumber--;
				return true;
			}
		}
		return false;
	}
}

⌨️ 快捷键说明

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