最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)經(jīng)典拳皇誤闖冒險(xiǎn)島游戲的示例代碼

 更新時(shí)間:2022年02月18日 09:01:31   作者:小虛竹and掘金  
《拳皇誤闖冒險(xiǎn)島》是拳皇和冒險(xiǎn)島素材的基于JavaSwing的動作類游戲。本文將用Java語言實(shí)現(xiàn)這一游戲,需要的小伙伴可以參考一下

前言

《拳皇誤闖冒險(xiǎn)島》是拳皇和冒險(xiǎn)島素材的基于JavaSwing的動作類游戲,獨(dú)創(chuàng)改編。

主要需求

拳皇迷迷糊糊醒來,發(fā)現(xiàn)自己在一間廢棄的工廠里,地上爬滿怪獸。。這么可愛的怪獸,一拳下去,應(yīng)該會哭很久吧~拳皇心里吐槽了下,向怪獸的懷抱沖了上去~~

主要設(shè)計(jì)

1、游戲面板生成顯示

2、背景選用冒險(xiǎn)島素材圖

3、設(shè)計(jì)英雄,包含生命值,法術(shù)值,英雄的動作變化處理,英雄的技能特效

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)動畫<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("拳皇誤闖冒險(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)動作*/
			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);
						}
					}
					/**技能釋放優(yōu)先級最低*/
					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)先級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) {
											/********更換場景********/
											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);
								}
							}
							
							/**
							 * 靜止?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")
	};
	
	/**
	 * 角色圖片素材-一技能動畫-左*/
	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,"游戲結(jié)束,是否退出?",
					"退出",JOptionPane.YES_NO_OPTION);
			if(choose==0){
				System.exit(0);
			}
			else
				System.out.println("重開");
		}
	}

}

總結(jié)

通過此次的《拳皇誤闖冒險(xiǎn)島》游戲?qū)崿F(xiàn),讓我對swing的相關(guān)知識有了進(jìn)一步的了解,對java這門語言也有了比以前更深刻的認(rèn)識。

java的一些基本語法,比如數(shù)據(jù)類型、運(yùn)算符、程序流程控制和數(shù)組等,理解更加透徹。java最核心的核心就是面向?qū)ο笏枷?,對于這一個(gè)概念,終于悟到了一些。

以上就是Java實(shí)現(xiàn)經(jīng)典拳皇誤闖冒險(xiǎn)島游戲的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java拳皇誤闖冒險(xiǎn)島的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 聊聊springboot中整合log4g2的問題

    聊聊springboot中整合log4g2的問題

    這篇文章主要介紹了springboot中整合log4g2的方法,自定義文件名需要在application.yml中配置,在config中配置log4g2.xml文件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • springboot+nacos+gateway實(shí)現(xiàn)灰度發(fā)布的實(shí)例詳解

    springboot+nacos+gateway實(shí)現(xiàn)灰度發(fā)布的實(shí)例詳解

    灰度發(fā)布是一種在軟件部署過程中用于平滑過渡的技術(shù),通過引入灰度發(fā)布SDK和配置網(wǎng)關(guān)策略實(shí)現(xiàn),本文就來介紹一下,感興趣的可以了解一下
    2022-03-03
  • @NotEmpty、@NotBlank、@NotNull的區(qū)別

    @NotEmpty、@NotBlank、@NotNull的區(qū)別

    這篇文章主要介紹了@NotEmpty、@NotBlank、@NotNull的區(qū)別,需要的朋友可以參考下
    2016-09-09
  • springboot通過spel結(jié)合aop實(shí)現(xiàn)動態(tài)傳參的案例

    springboot通過spel結(jié)合aop實(shí)現(xiàn)動態(tài)傳參的案例

    SpEl 是Spring框架中的一個(gè)利器,Spring通過SpEl能在運(yùn)行時(shí)構(gòu)建復(fù)雜表達(dá)式、存取對象屬性、對象方法調(diào)用等,今天通過本文給大家介紹springboot?spel結(jié)合aop實(shí)現(xiàn)動態(tài)傳參,需要的朋友可以參考下
    2022-07-07
  • 利用?SpringBoot?在?ES?中實(shí)現(xiàn)類似連表查詢功能

    利用?SpringBoot?在?ES?中實(shí)現(xiàn)類似連表查詢功能

    這篇文章主要介紹了如何利用?SpringBoot?在?ES?中實(shí)現(xiàn)類似連表的查詢功能,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Java使用NioSocket手動實(shí)現(xiàn)HTTP服務(wù)器

    Java使用NioSocket手動實(shí)現(xiàn)HTTP服務(wù)器

    本篇文章主要介紹了Java使用NioSocket手動實(shí)現(xiàn)HTTP服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-05-05
  • java如何獲取map中value的最大值

    java如何獲取map中value的最大值

    這篇文章主要介紹了java如何獲取map中value的最大值問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Spring中的接口重試機(jī)制解析

    Spring中的接口重試機(jī)制解析

    這篇文章主要介紹了Spring中的接口重試機(jī)制解析,大家在做項(xiàng)目的時(shí)候,往往會遇到一些接口由于網(wǎng)絡(luò)抖動等問題導(dǎo)致接口響應(yīng)超時(shí)等,這時(shí)候我們會希望能夠按照一定的規(guī)則進(jìn)行接口請求重試,需要的朋友可以參考下
    2024-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動力節(jié)點(diǎn)之Java學(xué)院整理)

    Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動力節(jié)點(diǎn)之Java學(xué)院整理)

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動力節(jié)點(diǎn)之Java學(xué)院整理)的相關(guān)資料,包括創(chuàng)建和內(nèi)存分配,數(shù)組封裝后的使用等,需要的朋友參考下吧
    2017-04-04
  • 詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案

    詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案

    這篇文章主要介紹了詳解基于MybatisPlus兩步實(shí)現(xiàn)多租戶方案,本文分兩步,通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評論

清涧县| 光泽县| 达拉特旗| 苍溪县| 淅川县| 麟游县| 广饶县| 扶绥县| 乃东县| 泽普县| 子洲县| 云安县| 沭阳县| 龙陵县| 泗水县| 九台市| 廉江市| 密云县| 轮台县| 绩溪县| 防城港市| 长治市| 陆良县| 临泽县| 桐梓县| 铜川市| 桐城市| 扶沟县| 株洲市| 友谊县| 蚌埠市| 沽源县| 工布江达县| 浦江县| 增城市| 巢湖市| 墨竹工卡县| 来凤县| 甘孜| 莲花县| 丰宁|