Java如何实现经典拳皇误闯冒险岛游戏
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了"Java如何实现经典拳皇误闯冒险岛游戏",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java如何实现经典拳皇误闯冒险岛游戏"这篇
千家信息网最后更新 2026年11月03日Java如何实现经典拳皇误闯冒险岛游戏
这篇文章主要为大家展示了"Java如何实现经典拳皇误闯冒险岛游戏",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java如何实现经典拳皇误闯冒险岛游戏"这篇文章吧。
主要设计
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; /**实现动画
* 图片帧索引
* sri:stand_right_index:人物静止站立(右)
* sli:stand_left_index:人物静止站立(左)
* jri:jump_right_index:人物跳动作(右)
* jli:jump_left_index:人物跳动作(左)
* wli:walk_left_index:人物行走(左)
* wri:walk_right_index:人物行走(右)
* ari:attack_right_index:人物攻击(右)
* ali:attach_left_index:人物攻击(左)
* 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 monsters=new ArrayList(); 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;i0) { if(!Hero.ishurted) { /** * 非跳起状态*/ if(!Hero.jump) { /** * 优先级attack>walk>skill>stand*/ if(Hero.attack) { for(int i=0;i=(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=(GameValue.Width-101)) { Hero.X=GameValue.Width-101; } repaintUI(100); } } } } } /** * 跳起状态*/ else if(Hero.jump) { for(int i=0;i=(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(); } } /** * 消灭所有妖怪
* 使妖怪再生*/ 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("重开"); } }}以上是"Java如何实现经典拳皇误闯冒险岛游戏"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
角色
图片
素材
攻击
图片素材
人物
拳皇
技能
冒险岛
冒险
一技
法术
状态
生命
英雄
经典
内容
动作
动画
妖怪
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网加科技
互联网科技公司排名
互联网巨头反垄断金融科技
互联网科技股票
兼蜜互联网科技
科技赋能互联网健康
互联网科技实习生岗位职责
昭通云南众福互联网科技有限公司
华服互联网科技官网
河南住房之家互联网科技
广州千川互联网科技有限公司
半导体行业属于互联网高科技类吗
江苏互联网科技小贷
福州德业互联网科技
全球科技与互联网公司市值变化
福仕德教育科技互联网
米泉互联网科技专业怎么样
互联网领先科技成果宣传视频
利用互联网等科技手段
互联网科技企业文化
互联网金融科技
互联网科技金融公司
互联网科技博客
一五八零互联网科技
富国互联网科技创新基金
科技赋能互联网健康
团飞科技与伯堂互联网服务平台
阿里互联网科技公司
栖莱科技互联网股份有限公司
中国科技和美国互联网