Java實(shí)現(xiàn)經(jīng)典拳皇誤闖冒險(xiǎn)島游戲的示例代碼
前言
《拳皇誤闖冒險(xiǎn)島》是拳皇和冒險(xiǎn)島素材的基于JavaSwing的動(dòng)作類游戲,獨(dú)創(chuàng)改編。
主要需求
拳皇迷迷糊糊醒來,發(fā)現(xiàn)自己在一間廢棄的工廠里,地上爬滿怪獸。。這么可愛的怪獸,一拳下去,應(yīng)該會(huì)哭很久吧~拳皇心里吐槽了下,向怪獸的懷抱沖了上去~~
主要設(shè)計(jì)
1、游戲面板生成顯示
2、背景選用冒險(xiǎn)島素材圖
3、設(shè)計(jì)英雄,包含生命值,法術(shù)值,英雄的動(dòng)作變化處理,英雄的技能特效
4、設(shè)計(jì)怪獸,包含怪物血量,攻擊力,位置,步長等
5、鍵盤監(jiān)聽:
? 按下空格:跳
? 按A鍵或左方向鍵<- :向左
? 按D鍵或右方向鍵-> :向右
? 按S鍵或下方向鍵 +K鍵:釋放技能
? 按J鍵:攻擊
功能截圖
游戲開始

拳皇攻擊

拳皇放技能

代碼實(shí)現(xiàn)
游戲主界面
public class MainFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = 7492509868810783126L;
private static KeyWork key;
//雙緩沖方法解決閃爍問題
Image ImageBuffer=null;
Graphics img;
/**實(shí)現(xiàn)動(dòng)畫<br>
* 圖片幀索引<br>
* sri:stand_right_index:人物靜止站立(右)<br>
* sli:stand_left_index:人物靜止站立(左)<br>
* jri:jump_right_index:人物跳動(dòng)作(右)<br>
* jli:jump_left_index:人物跳動(dòng)作(左)<br>
* wli:walk_left_index:人物行走(左)<br>
* wri:walk_right_index:人物行走(右)<br>
* ari:attack_right_index:人物攻擊(右)<br>
* ali:attach_left_index:人物攻擊(左)<br>
* s0i:skill0_index:一技能攻擊*/
public static int sri=0,sli=0,jri=0,jli=0,wli=0,wri=0,
ari=0,ali=0,s0i=0;
/**場(chǎng)景*/
int bgindex=0;
public static List<Monster> monsters=new ArrayList<Monster>();
public MainFrame() {
this.setTitle("拳皇誤闖冒險(xiǎn)島");
this.setBounds((int)(GameValue.WIDTH-GameValue.Width)/2,(int)(GameValue.HEIGHT-GameValue.Hight)/2,GameValue.Width,GameValue.Hight);
this.setLayout(null);
this.setResizable(false);
key=new KeyWork();
this.addKeyListener(key);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
isclose();
}
});
initMonster();
new ActionThread();
}
private void initMonster() {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
try {
Monster m=new Monster();
monsters.add(m);
/**
* 生成妖怪的間隔*/
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
public void isclose() {
System.exit(0);
int choose=JOptionPane.showConfirmDialog(this,"是否退出?",
"退出",JOptionPane.YES_NO_OPTION);
if(choose==0){
System.exit(0);
}
else
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
public void display(boolean show) {
this.setVisible(show);
}
@Override
public void paint(Graphics g) {
if(ImageBuffer==null){
ImageBuffer=createImage(this.getWidth(),this.getHeight());
}
img=ImageBuffer.getGraphics();
super.paint(img);
img.drawImage(GameValue.bgimgs[bgindex],0,0,GameValue.Width,GameValue.Hight,this);
/**
* 構(gòu)建主角信息*/
img.setColor(Color.WHITE);
img.setFont(GameValue.display_font);
int x0=30,y0=70,yh=20+8;
img.drawString("生命值", x0,y0);
img.drawString("法術(shù)值", x0,y0+yh);
/**
* 分別是生命值和法術(shù)值*/
img.drawRect(x0*3+8-1, y0-15-1, 150+1, 15+1);
img.drawRect(x0*3+8-1, y0+yh-15-1, 150+1, 15+1);
img.setColor(Color.GREEN);
int hp_width=(int)(((double)(Hero.HP_NOW)/Hero.HP_ALL)*150);
img.fillRect(x0*3+8, y0-15, hp_width, 15);
img.setColor(Color.BLUE);
int mp_width=(int)(((double)(Hero.MP_NOW)/Hero.MP_ALL)*150);
img.fillRect(x0*3+8, y0+yh-15, mp_width, 15);
img.setColor(Color.WHITE);
img.drawString(Hero.HP_NOW+"/"+Hero.HP_ALL,x0*3+8-1+45, y0);
img.drawString(Hero.MP_NOW+"/"+Hero.MP_ALL,x0*3+8-1+45, y0+yh);
for(int i=0;i<monsters.size();i++) {
Monster m=monsters.get(i);
if(m.islive) {
if(m.left) {
img.drawImage(m.imgs_left[m.index],m.mX,m.Y,70,70,this);
}
else if(m.right) {
img.drawImage(m.imgs_right[m.index],m.mX,m.Y,70,70,this);
}
}
}
/**
* 如果主角處于被攻擊狀態(tài)*/
if(Hero.ishurted) {
}
/**
* 主角昏迷了*/
else if(Hero.isfall) {
}
else {
/**
* 構(gòu)建主角靜態(tài)動(dòng)作*/
if(Hero.left && !Hero.jump && !Hero.walk && !Hero.attack && !Hero.skill0_attack) {
img.drawImage(Hero.stand_left[sli],Hero.X,Hero.Y,this);
}
if(Hero.right && !Hero.jump && !Hero.walk && !Hero.attack && !Hero.skill0_attack) {
img.drawImage(Hero.stand_right[sri],Hero.X,Hero.Y,this);
}
/**
* 主角跳動(dòng)作,包含跳擊*/
if(Hero.jump) {
if(Hero.attack) {
if(Hero.left) {
img.drawImage(Hero.jump_attack_left[jli],Hero.X,Hero.jumpY,this);
}
if(Hero.right) {
img.drawImage(Hero.jump_attack_right[jri],Hero.X,Hero.jumpY,this);
}
}
else {
if(Hero.left) {
img.drawImage(Hero.jump_left[jli],Hero.X-7,Hero.jumpY,this);
}
if(Hero.right) {
img.drawImage(Hero.jump_right[jri],Hero.X+7,Hero.jumpY,this);
}
}
}
/**
* 主角非跳動(dòng)作,包含行走和普通攻擊*/
else {
if(Hero.attack) {
if(Hero.left) {
img.drawImage(Hero.attack_left[ali],Hero.X-50,Hero.Y,this);
}
if(Hero.right) {
img.drawImage(Hero.attack_right[ari],Hero.X+50,Hero.Y,this);
}
}
else {
if(Hero.walk) {
if(Hero.left) {
img.drawImage(Hero.walk_left[wli],Hero.X,Hero.Y,this);
}
if(Hero.right) {
img.drawImage(Hero.walk_right[wri],Hero.X,Hero.Y,this);
}
}
/**技能釋放優(yōu)先級(jí)最低*/
else {
if(Hero.skill0_attack) {
if(Hero.left) {
img.drawImage(Hero.skill0_attack_left[s0i],Hero.X-40,Hero.Y-75,this);
}
if(Hero.right) {
img.drawImage(Hero.skill0_attack_right[s0i],Hero.X-10,Hero.Y-80,this);
}
}
}
}
}
}
img.dispose();
g.drawImage(ImageBuffer,0,0,this);
//super.paint(g);
}
class ActionThread implements Runnable{
public ActionThread() {
// TODO Auto-generated constructor stub
new Thread(this).start();
}
@Override
public void run() {
// TODO Auto-generated method stub
while(Hero.HP_NOW>0) {
if(!Hero.ishurted) {
/**
* 非跳起狀態(tài)*/
if(!Hero.jump) {
/**
* 優(yōu)先級(jí)attack>walk>skill>stand*/
if(Hero.attack) {
for(int i=0;i<Hero.attack_right.length;i++) {
if(Hero.left) {
ali=i;
}
else if(Hero.right) {
ari=i;
}
repaintUI(80);
}
ali=0;
ari=0;
Hero.attack=false;
}
else {
/**
* 行走狀態(tài)*/
if(Hero.walk) {
for(int i=0;i<Hero.walk_right.length;i++) {
/**如果提前釋放AD鍵或者按了空格鍵則立刻停止*/
if(!Hero.walk || Hero.jump) {
break;
}
if(Hero.left) {
wli=i;
Hero.X-=Hero.step;
if(Hero.X<=0) {
/********更換場(chǎng)景********/
if(bgindex!=0) {
bgindex--;
Hero.X=GameValue.Width-105;
AllClear();
repaint();
}
else{
Hero.X=0;
}
}
}
else if(Hero.right) {
wri=i;
Hero.X+=Hero.step;
if(Hero.X>=(GameValue.Width-80)) {
/********更換場(chǎng)景********/
if(bgindex!=GameValue.bgimgs.length-1) {
bgindex++;
Hero.X=0;
AllClear();
repaint();
}
else{
Hero.X=GameValue.Width-80;
}
}
}
repaintUI(100);
}
}
/**
* 靜止?fàn)顟B(tài)*/
else {
/**技能攻擊*/
if(Hero.skill0_attack) {
/**首先檢查MP是否足夠,否則不能釋放技能*/
if(Hero.MP_NOW>=Hero.skill0_mp) {
Hero.MP_NOW-=Hero.skill0_mp;
for(int i=0;i<Hero.skill0_attack_right.length;i++) {
s0i=i;
repaintUI(80);
}
}
else if(Hero.MP_NOW<=0) {
Hero.MP_NOW=0;
repaint();
}
s0i=0;
Hero.skill0_attack=false;
}
else {
for(int i=0;i<Hero.stand_right.length;i++) {
/**如果按了AD鍵或者按了空格鍵則立刻停止*/
if(Hero.walk || Hero.jump) {
break;
}
if(Hero.left) {
sli=i;
}
else if(Hero.right) {
sri=i;
}
if(Hero.X>=(GameValue.Width-101)) {
Hero.X=GameValue.Width-101;
}
repaintUI(100);
}
}
}
}
}
/**
* 跳起狀態(tài)*/
else if(Hero.jump) {
for(int i=0;i<Hero.jump_right.length;i++) {
if(Hero.left) {
jli=i;
}
else if(Hero.right) {
jri=i;
}
if(KeyWork.pressA) {
Hero.X-=Hero.step+5;
if(Hero.X<=0) {
Hero.X=0;
}
}
else if(KeyWork.pressD) {
Hero.X+=Hero.step+5;
if(Hero.X>=(GameValue.Width-103)) {
Hero.X=GameValue.Width-103;
}
}
if(i>=2 && i<=7) {
Hero.jumpY-=12;
}
if(i>=9 && i<=14) {
Hero.jumpY+=12;
}
repaintUI(80);
}
jli=0;
jri=0;
Hero.jump=false;
Hero.attack=false;
repaint();
}
//System.out.print("");
}
else {
try {
Thread.sleep(200);
Hero.ishurted=false;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
/**刷新界面*/
public void repaintUI(int times) {
this.repaint();
try {
Thread.sleep(times);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 消滅所有妖怪<br>
* 使妖怪再生*/
public static void AllClear() {
for(Monster m:monsters) {
m.islive=false;
}
monsters.clear();
}
}英雄
public class Hero {
/**
* 角色的基本屬性:生命值,法術(shù)值*/
public static int HP_NOW=100,HP_ALL=100,MP_NOW=120,MP_ALL=120;
/**
* 角色當(dāng)前所在位置X和Y,跳起時(shí)所用Y*/
public static int X=50,Y=400,jumpY=Y-52;
/**
* 角色是否被攻擊,角色是否暈眩,角色朝左或朝右,角色是否跳起,角色是否行走,是否攻擊,技能攻擊(一技能)*/
public static boolean ishurted=false,isfall=false,left=false,right=true,jump=false,walk=false,
attack=false,skill0_attack=false;
/**
* 定義普通攻擊的傷害,跳擊傷害和一技能的耗MP和傷害*/
public static int attack_hp=10,jump_attack_hp=15,skill0_mp=15,skill0_hp=20;
/**
* 角色步長*/
public static int step=15;
/**
* 角色圖片素材-左站*/
public static Image[] stand_left= {
Toolkit.getDefaultToolkit().getImage("img/role/stand-left/stand01.png"),
Toolkit.getDefaultToolkit().getImage("img/role/stand-left/stand02.png"),
Toolkit.getDefaultToolkit().getImage("img/role/stand-left/stand03.png")
};
/**
* 角色圖片素材-左跳*/
public static Image[] jump_left= {
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/5.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/6.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/7.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/8.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/9.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/10.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/11.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/12.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/13.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/14.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/15.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/16.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/17.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/18.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-left/19.png")
};
/**
* 角色圖片素材-左走*/
public static Image[] walk_left= {
Toolkit.getDefaultToolkit().getImage("img/role/walk-left/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-left/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-left/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-left/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-left/4.png")
};
/**
* 角色圖片素材-左攻擊*/
public static Image[] attack_left= {
Toolkit.getDefaultToolkit().getImage("img/role/attack-left/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-left/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-left/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-left/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-left/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-left/5.png")
};
/**
* 角色圖片素材-左跳擊*/
public static Image[] jump_attack_left= {
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/5.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/6.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/7.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/8.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/9.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/10.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/11.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/12.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/13.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/14.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/15.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/16.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/17.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/18.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-left/19.png")
};
/**
* 角色圖片素材-一技能動(dòng)畫-左*/
public static Image[] skill0_attack_left= {
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/5.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/6.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/7.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/8.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/9.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/10.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/11.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/12.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/13.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/14.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/15.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/16.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/17.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/18.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/19.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/left/20.png")
};
/**************************************************************************/
/**
* 角色圖片素材-右站*/
public static Image[] stand_right= {
Toolkit.getDefaultToolkit().getImage("img/role/stand-right/stand01.png"),
Toolkit.getDefaultToolkit().getImage("img/role/stand-right/stand02.png"),
Toolkit.getDefaultToolkit().getImage("img/role/stand-right/stand03.png")
};
/**
* 角色圖片素材-右跳*/
public static Image[] jump_right= {
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/5.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/6.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/7.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/8.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/9.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/10.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/11.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/12.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/13.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/14.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/15.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/16.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/17.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/18.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-right/19.png")
};
/**
* 角色圖片素材-右走*/
public static Image[] walk_right= {
Toolkit.getDefaultToolkit().getImage("img/role/walk-right/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-right/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-right/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-right/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/walk-right/4.png")
};
/**
* 角色圖片素材-右攻擊*/
public static Image[] attack_right= {
Toolkit.getDefaultToolkit().getImage("img/role/attack-right/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-right/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-right/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-right/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-right/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/attack-right/5.png")
};
/**
* 角色圖片素材-右跳擊*/
public static Image[] jump_attack_right= {
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/5.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/6.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/7.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/8.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/9.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/10.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/11.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/12.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/13.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/14.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/15.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/16.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/17.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/18.png"),
Toolkit.getDefaultToolkit().getImage("img/role/jump-attack-right/19.png")
};
/**
* 角色圖片素材-一技能動(dòng)畫-右*/
public static Image[] skill0_attack_right= {
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/0.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/1.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/2.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/3.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/4.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/5.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/6.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/7.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/8.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/9.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/10.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/11.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/12.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/13.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/14.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/15.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/16.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/17.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/18.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/19.png"),
Toolkit.getDefaultToolkit().getImage("img/role/skills/0/right/20.png")
};
public static void attacked(int atk) {
ishurted=true;
HP_NOW-=atk;
if(HP_NOW<0) {
HP_NOW=0;
FightGameLaunch.getMainFrame().repaint();
int choose=JOptionPane.showConfirmDialog(null,"游戲結(jié)束,是否退出?",
"退出",JOptionPane.YES_NO_OPTION);
if(choose==0){
System.exit(0);
}
else
System.out.println("重開");
}
}
}總結(jié)
通過此次的《拳皇誤闖冒險(xiǎn)島》游戲?qū)崿F(xiàn),讓我對(duì)swing的相關(guān)知識(shí)有了進(jìn)一步的了解,對(duì)java這門語言也有了比以前更深刻的認(rèn)識(shí)。
java的一些基本語法,比如數(shù)據(jù)類型、運(yùn)算符、程序流程控制和數(shù)組等,理解更加透徹。java最核心的核心就是面向?qū)ο笏枷?,?duì)于這一個(gè)概念,終于悟到了一些。
以上就是Java實(shí)現(xiàn)經(jīng)典拳皇誤闖冒險(xiǎn)島游戲的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java拳皇誤闖冒險(xiǎn)島的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實(shí)現(xiàn)代碼
這篇文章主要介紹了Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Java數(shù)據(jù)結(jié)構(gòu)與算法之單鏈表深入理解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之單鏈表深入理解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
基于SpringBoot和Vue3的博客平臺(tái)文章列表與分頁功能實(shí)現(xiàn)
在前面的教程中,我們已經(jīng)實(shí)現(xiàn)了基于Spring Boot和Vue3的發(fā)布、編輯、刪除文章功能。本教程將繼續(xù)引導(dǎo)您實(shí)現(xiàn)博客平臺(tái)的文章列表與分頁功能,需要的朋友可以參考閱讀2023-04-04
SpringBoot通過源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot通過源碼探究靜態(tài)資源的映射規(guī)則實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Java中的MarkerFilter的應(yīng)用場(chǎng)景及使用示例詳解
這篇文章主要介紹了Java中的MarkerFilter的應(yīng)用場(chǎng)景及使用示例詳解,使用log4j2,負(fù)責(zé)從消息隊(duì)列收集日志的,現(xiàn)在系統(tǒng)收集到的日志能和這個(gè)系統(tǒng)本身的日志分開,需要的朋友可以參考下2024-01-01
Java對(duì)數(shù)組實(shí)現(xiàn)選擇排序算法的實(shí)例詳解
這篇文章主要介紹了Java對(duì)數(shù)組實(shí)現(xiàn)選擇排序算法的實(shí)例,選擇排序的比較次數(shù)為 O(N^2)而交換數(shù)為O(N),需要的朋友可以參考下2016-04-04
jxl 導(dǎo)出數(shù)據(jù)到excel的實(shí)例講解
下面小編就為大家分享一篇jxl 導(dǎo)出數(shù)據(jù)到excel的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(2)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07

