/**
*
*/
package moudle;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import core.GameObject;
import action.GMapDrawer;
import scene.SceneManager;
import util.Util;
/**
* @author Jack Lei
* @Time 下午8:43:09 2016年1月6日
* @desc 游戏副本
*/
public class GameMission extends GameObject {
public static final int row = 15;
public static final int col = 15;
public static final int imageSize = 48;
/*关卡 - 地图**/
private Map<Integer,GameMap> maps = new HashMap<Integer,GameMap>();
/**敌方出生点*/
private Map<Integer,int[][]> enemyPoint =new HashMap<Integer, int[][]>();
/*关卡 - 敌方**/
private Map<Integer,Map<Integer,GameEnemy>> enemys = new HashMap<Integer, Map<Integer,GameEnemy>>();
private int currentState =1;
private boolean stop = true;
private final int[][] stage1 = {
{0,1,0,0,0,1,0,0,0,1,0,1,0,0,2},
{0,1,0,1,0,1,0,1,0,0,0,0,0,0,2},
{0,1,0,2,0,1,0,1,0,1,0,0,0,0,2},
{0,1,0,2,0,1,0,2,0,0,0,2,0,0,2},
{0,1,0,2,0,1,0,2,0,1,0,0,0,0,2},
{0,1,0,2,0,1,0,2,0,1,0,1,0,0,2},
{0,1,0,2,0,1,0,2,0,0,0,2,0,0,2},
{0,1,0,2,0,1,0,2,0,1,0,2,0,0,2},
{0,1,0,2,0,1,0,1,0,0,0,0,0,0,2},
{0,1,0,2,0,1,0,1,0,1,0,2,0,0,2},
{0,1,0,2,0,1,0,1,0,0,0,2,0,0,2},
{0,1,0,2,0,1,0,1,0,1,0,0,0,0,2},
{0,1,0,2,0,1,0,2,0,0,0,2,0,0,2},
{0,1,0,2,0,1,0,2,0,1,0,0,0,0,2},
{0,0,0,2,0,0,0,2,0,1,0,1,0,0,2}};
private final int[][] stage2 = {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,0,0,0,0,0,0,0,1},
{1,1,0,0,0,0,0,0,0,2,0,0,0,0,1},
{1,1,2,2,2,2,0,0,0,0,0,0,0,0,1},
{1,0,0,2,0,0,0,2,0,2,0,0,0,0,1},
{1,0,2,0,0,1,1,1,1,1,0,0,0,0,1},
{1,0,1,0,0,1,0,0,2,1,0,0,0,0,1},
{1,0,1,0,1,1,0,0,0,1,0,0,0,0,1},
{1,0,0,1,1,1,0,0,0,1,0,0,0,0,1},
{1,0,2,1,1,1,1,0,1,1,0,0,0,0,1},
{1,0,0,1,1,0,0,0,2,0,0,0,0,0,1},
{1,0,2,0,2,2,0,2,2,0,0,0,0,0,1},
{1,2,2,2,1,0,0,2,2,2,0,0,0,0,1},
{1,0,1,0,0,2,0,0,0,0,2,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
private final int[][] stage3 = {
{1,1,2,1,2,1,0,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,0,0,0,0,1,0,0,1},
{1,1,0,0,0,0,2,0,0,2,0,1,0,0,1},
{1,1,2,2,2,2,2,0,0,0,0,1,2,0,1},
{1,1,0,2,0,0,2,2,0,2,0,1,2,0,1},
{1,1,2,0,0,1,2,1,1,1,0,1,2,0,1},
{1,0,1,0,0,1,2,0,2,1,0,1,2,0,1},
{1,0,1,0,1,1,2,1,0,1,0,0,2,0,1},
{2,0,0,1,1,1,0,1,0,1,0,0,2,0,1},
{2,0,2,1,1,1,1,1,1,1,0,0,0,0,1},
{2,0,0,1,1,0,0,1,2,0,0,0,0,2,1},
{1,0,2,0,2,2,0,2,2,0,2,0,2,2,1},
{0,2,2,2,1,0,0,1,2,2,2,0,2,2,1},
{0,0,1,0,0,2,0,1,0,0,2,0,0,0,1},
{1,101,1,0,0,1,0,1,1,1,1,1,1,1}};
private Image stage1_swardImage = Util.getInstance().createImage("sward.png");
private Image stage1_rockImage = Util.getInstance().createImage("rock.png");
private Image stage1_blockImage = Util.getInstance().createImage("block.png");
public GameMission(){
super(GameWorld.getInstance().getId(),null, 0, 0, new GMapDrawer());
createStage();
}
private void createStage(){
//关卡1
GameMap stage1Map = new GameMap(1,0,0,row, col, imageSize, stage1, stage1_swardImage, stage1_rockImage, stage1_blockImage, drawer);
maps.put(1, stage1Map);
int[][] stage1EnemyPoint = new int[4][2];
stage1EnemyPoint[0][0]=12;
stage1EnemyPoint[0][1]=14;
stage1EnemyPoint[1][0]=9;
stage1EnemyPoint[1][1]=14;
stage1EnemyPoint[2][0]=0;
stage1EnemyPoint[2][1]=14;
stage1EnemyPoint[3][0]=4;
stage1EnemyPoint[3][1]=14;
enemyPoint.put(1, stage1EnemyPoint);
Map<Integer,GameEnemy> es = new HashMap<Integer,GameEnemy>();
for(int index=0;index<stage1EnemyPoint.length;index++){
GameEnemy gameEnemy = new GameEnemy( stage1EnemyPoint[index][0], stage1EnemyPoint[index][1]);
es.put(gameEnemy.id, gameEnemy);
}
enemys.put(1,es);
//关卡2
GameMap stage2Map = new GameMap(1,0,0,row, col, imageSize, stage2, stage1_swardImage, stage1_rockImage, stage1_blockImage, drawer);
maps.put(2, stage2Map);
int[][] stage2EnemyPoint = new int[4][2];
stage2EnemyPoint[0][0]=12;
stage2EnemyPoint[0][1]=4;
stage2EnemyPoint[1][0]=9;
stage2EnemyPoint[1][1]=2;
stage2EnemyPoint[2][0]=2;
stage2EnemyPoint[2][1]=13;
stage2EnemyPoint[3][0]=3;
stage2EnemyPoint[3][1]=12;
enemyPoint.put(2, stage2EnemyPoint);
Map<Integer,GameEnemy> es2 = new HashMap<Integer,GameEnemy>();
for(int index=0;index<stage2EnemyPoint.length;index++){
GameEnemy gameEnemy = new GameEnemy(stage2EnemyPoint[index][0], stage2EnemyPoint[index][1]);
es2.put(gameEnemy.id,gameEnemy);
}
enemys.put(2,es2);
//关卡3
GameMap stage3Map = new GameMap(1,0,0,row, col, imageSize, stage3,stage1_swardImage, stage1_rockImage, stage1_blockImage, drawer);
maps.put(3, stage3Map);
int[][] stage3EnemyPoint = new int[4][2];
stage3EnemyPoint[0][0]=5;
stage3EnemyPoint[0][1]=4;
stage3EnemyPoint[1][0]=3;
stage3EnemyPoint[1][1]=2;
stage3EnemyPoint[2][0]=14;
stage3EnemyPoint[2][1]=2;
stage3EnemyPoint[3][0]=4;
stage3EnemyPoint[3][1]=7;
enemyPoint.put(3, stage3EnemyPoint);
Map<Integer,GameEnemy> es3 = new HashMap<Integer,GameEnemy>();
for(int index=0;index<stage3EnemyPoint.length;index++){
GameEnemy gameEnemy = new GameEnemy(stage3EnemyPoint[index][0], stage3EnemyPoint[index][1]);
es3.put(gameEnemy.id,gameEnemy);
}
enemys.put(3,es3);
}
public GameMap getCurrentMap(){
return maps.get(currentState);
}
public void reset(){
this.maps.clear();
this.enemys.clear();
this.createStage();
}
public void nextStage(){
this.stop = true;
this.currentState++;
}
public Iterator<GameEnemy> getCurrentEnems(){
return enemys.get(currentState).values().iterator();
}
public boolean isEnemyDeadAll(){
int size = enemys.get(currentState).size();
int temp = 0;
Iterator<GameEnemy> currentEnems = getCurrentEnems();
while(currentEnems.hasNext()){
if(currentEnems.next().isStateDaed()){
temp++;
}
}
if(temp == size)
return true;
return false;
}
public boolean passMission(){
return this.currentState == maps.size();
}
public void destoryEnemy(int id){
enemys.get(currentState).remove(id);
}
public boolean isPause(){
return stop;
}
public void run(){
this.stop =false;
}
/**
* @return the currentState
*/
public int getCurrentState() {
return currentState;
}
/* (non-Javadoc)
* @see core.GameObject#draw()
*/
@Override
public void draw(Graphics g) {
// TODO Auto-generated method stub
getCurrentMap().draw(g);
}
/* (non-Javadoc)
* @see core.GameObject#tick()
*/
@Override
public void tick(Graphics g) {
if(!isPause()){
draw(g);
SceneManager.getInstance().getPlayer().tick(g);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA 炸弹人
共121个文件
class:49个
java:43个
png:26个
5星 · 超过95%的资源 需积分: 49 592 下载量 7 浏览量
2016-01-09
22:20:37
上传
评论 31
收藏 512KB ZIP 举报
温馨提示
JAVA awt 炸弹人
资源推荐
资源详情
资源评论
收起资源包目录
JAVA 炸弹人 (121个子文件)
GameMission.class 7KB
GamePlayer.class 7KB
StateMachine.class 6KB
GameBomb.class 5KB
GameMap.class 4KB
SceneManager.class 4KB
GameWorld.class 3KB
GameStartAction.class 3KB
GameEnemy.class 3KB
NextStageAction.class 2KB
GameEndAction.class 2KB
GameOverAction.class 2KB
GameObject.class 2KB
GameLoadAction.class 2KB
StateTransaction.class 2KB
GState.class 1KB
SceneManager$1.class 1KB
TestFSM.class 1KB
Main.class 1KB
GSceneDrawer.class 1KB
GameItem.class 1KB
TestFSM$1.class 1KB
Util.class 1KB
StateMachine$2.class 1KB
GameState.class 1KB
GameObjectState.class 1021B
GStartScene.class 1020B
ItemType.class 998B
StateMachine$1.class 985B
GPlayerDrawer.class 983B
GEnemyDrawer.class 980B
GEnemyMover.class 977B
GPlayerMover.class 902B
GWeaponDrawer.class 887B
GMapDrawer.class 878B
GameRunnabel.class 751B
Main$1.class 585B
GStartState.class 584B
IntCondtion.class 523B
Main$2.class 455B
Common.class 380B
IStateChange.class 344B
IStateInput.class 307B
IStateAction.class 303B
Test.class 237B
IDrawAction.class 223B
IMoveAction.class 223B
IState.class 190B
ITransactionCondtion.class 151B
.classpath 301B
GameMission.java 7KB
GamePlayer.java 7KB
GameBomb.java 5KB
GameMap.java 5KB
SceneManager.java 5KB
StateMachine.java 4KB
TestFSM.java 3KB
GameEnemy.java 3KB
GameWorld.java 3KB
GameStartAction.java 2KB
NextStageAction.java 2KB
GameEndAction.java 1KB
GameOverAction.java 1KB
Main.java 1KB
GameObject.java 1KB
GameLoadAction.java 1KB
GameItem.java 1KB
GSceneDrawer.java 984B
GPlayerDrawer.java 888B
GEnemyDrawer.java 887B
StateTransaction.java 849B
GMapDrawer.java 832B
GPlayerMover.java 810B
GEnemyMover.java 806B
GWeaponDrawer.java 775B
GStartState.java 772B
GStartScene.java 763B
GState.java 713B
GameRunnabel.java 618B
Util.java 522B
IntCondtion.java 501B
Common.java 471B
IMoveAction.java 387B
IDrawAction.java 338B
IState.java 268B
IStateAction.java 252B
IStateChange.java 252B
IStateInput.java 222B
ITransactionCondtion.java 199B
GameState.java 181B
ItemType.java 176B
GameObjectState.java 160B
Test.java 120B
start.png 185KB
start.png 185KB
fire.png 7KB
fire.png 7KB
rock.png 5KB
rock.png 5KB
role.png 5KB
共 121 条
- 1
- 2
熊猫是黑炭
- 粉丝: 27
- 资源: 50
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页