Java實現經典拳皇誤闖冒險島遊戲的示例代碼
前言
《拳皇誤闖冒險島》是拳皇和冒險島素材的基於JavaSwing的動作類遊戲,獨創改編。
主要需求
拳皇迷迷糊糊醒來,發現自己在一間廢棄的工廠裡,地上爬滿怪獸。。這麼可愛的怪獸,一拳下去,應該會哭很久吧~拳皇心裡吐槽瞭下,向怪獸的懷抱沖瞭上去~~
主要設計
1、遊戲面板生成顯示
2、背景選用冒險島素材圖
3、設計英雄,包含生命值,法術值,英雄的動作變化處理,英雄的技能特效
4、設計怪獸,包含怪物血量,攻擊力,位置,步長等
5、鍵盤監聽:
按下空格:跳
按A鍵或左方向鍵<- :向左
按D鍵或右方向鍵-> :向右
按S鍵或下方向鍵 +K鍵:釋放技能
按J鍵:攻擊
功能截圖
遊戲開始
拳皇攻擊
拳皇放技能
代碼實現
遊戲主界面
public class MainFrame extends JFrame { /** * */ private static final long serialVersionUID = 7492509868810783126L; private static KeyWork key; //雙緩沖方法解決閃爍問題 Image ImageBuffer=null; Graphics img; /**實現動畫<br> * 圖片幀索引<br> * sri:stand_right_index:人物靜止站立(右)<br> * sli:stand_left_index:人物靜止站立(左)<br> * jri:jump_right_index:人物跳動作(右)<br> * jli:jump_left_index:人物跳動作(左)<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; /**場景*/ int bgindex=0; public static List<Monster> monsters=new ArrayList<Monster>(); public MainFrame() { this.setTitle("拳皇誤闖冒險島"); 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); /** * 構建主角信息*/ img.setColor(Color.WHITE); img.setFont(GameValue.display_font); int x0=30,y0=70,yh=20+8; img.drawString("生命值", x0,y0); img.drawString("法術值", x0,y0+yh); /** * 分別是生命值和法術值*/ 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); } } } /** * 如果主角處於被攻擊狀態*/ if(Hero.ishurted) { } /** * 主角昏迷瞭*/ else if(Hero.isfall) { } else { /** * 構建主角靜態動作*/ 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); } /** * 主角跳動作,包含跳擊*/ 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); } } } /** * 主角非跳動作,包含行走和普通攻擊*/ 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); } } /**技能釋放優先級最低*/ 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) { /** * 非跳起狀態*/ if(!Hero.jump) { /** * 優先級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 { /** * 行走狀態*/ 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) { /********更換場景********/ 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)) { /********更換場景********/ if(bgindex!=GameValue.bgimgs.length-1) { bgindex++; Hero.X=0; AllClear(); repaint(); } else{ Hero.X=GameValue.Width-80; } } } repaintUI(100); } } /** * 靜止狀態*/ 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); } } } } } /** * 跳起狀態*/ 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 { /** * 角色的基本屬性:生命值,法術值*/ public static int HP_NOW=100,HP_ALL=100,MP_NOW=120,MP_ALL=120; /** * 角色當前所在位置X和Y,跳起時所用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") }; /** * 角色圖片素材-一技能動畫-左*/ 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") }; /** * 角色圖片素材-一技能動畫-右*/ 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,"遊戲結束,是否退出?", "退出",JOptionPane.YES_NO_OPTION); if(choose==0){ System.exit(0); } else System.out.println("重開"); } } }
總結
通過此次的《拳皇誤闖冒險島》遊戲實現,讓我對swing的相關知識有瞭進一步的瞭解,對java這門語言也有瞭比以前更深刻的認識。
java的一些基本語法,比如數據類型、運算符、程序流程控制和數組等,理解更加透徹。java最核心的核心就是面向對象思想,對於這一個概念,終於悟到瞭一些。
以上就是Java實現經典拳皇誤闖冒險島遊戲的示例代碼的詳細內容,更多關於Java拳皇誤闖冒險島的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Python 遊戲大作炫酷機甲闖關遊戲爆肝數千行代碼實現案例進階
- C語言解決青蛙跳臺階問題(升級版)
- JavaWeb踩坑記錄之項目訪問不到html文件
- C 語言基礎實現青蛙跳臺階和漢諾塔問題
- C++用easyx圖形庫實現障礙跑酷小遊戲