java实现简单的推箱子小游戏

这篇文章主要为大家详细介绍了java实现简单的推箱子小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们做的是 “灰太狼推箱子” 的小游戏

首先准备需要的图片

然后放入二进制文件(所谓的地图)

当然music是必不可少的

目录:

话不多说直接上代码

package com.xhh.xyx; import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.io.*; import javax.sound.midi.*; import java.util.Stack; public class Tuixiangzi { public static void main(String[] args) { new mainFrame(); } } class mainFrame extends JFrame implements ActionListener,ItemListener { JLabel lb; JLabel lb2; JButton btnrenew,btnlast,btnnext,btnchoose,btnfirst,btnover,btnmuc,btnback; mainpanel panel; Sound sound; JComboBox jc=new JComboBox(); MenuItem renew=new MenuItem("重新开始"); MenuItem back=new MenuItem("悔一步"); MenuItem last=new MenuItem("上一关"); MenuItem next=new MenuItem("下一关"); MenuItem choose=new MenuItem("选关"); MenuItem exit=new MenuItem("退出"); MenuItem qin=new MenuItem("琴萧合奏"); MenuItem po=new MenuItem("泡泡堂"); MenuItem guang=new MenuItem("灌篮高手"); MenuItem nor=new MenuItem("认"); MenuItem eye=new MenuItem("eyes on me"); MenuItem about=new MenuItem("关于推箱子..."); mainFrame() { super("推箱子2.0"); setSize(720,720); setVisible(true); setResizable(false); setLocation(300,20); setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); Container cont=getContentPane(); cont.setLayout(null); cont.setBackground(Color.black); Menu choice=new Menu("选项"); choice.add(renew); choice.add(last); choice.add(next); choice.add(choose); choice.add(back); choice.addSeparator(); choice.add(exit); renew.addActionListener(this); last.addActionListener(this); next.addActionListener(this); choose.addActionListener(this); exit.addActionListener(this); back.addActionListener(this); Menu setmuc=new Menu("设置音乐"); setmuc.add(nor); setmuc.add(qin); setmuc.add(po); setmuc.add(guang); setmuc.add(eye); nor.addActionListener(this); qin.addActionListener(this); po.addActionListener(this); guang.addActionListener(this); eye.addActionListener(this); Menu help=new Menu("帮助"); help.add(about); about.addActionListener(this); MenuBar bar=new MenuBar(); bar.add(choice);bar.add(setmuc);bar.add(help); setMenuBar(bar); nor.setEnabled(false); lb=new JLabel("灰太狼古堡推箱子!",SwingConstants.CENTER); lb2=new JLabel("更换音乐",SwingConstants.CENTER); add(lb);add(lb2); lb.setBounds(100,20,400,20); lb.setForeground(Color.white); lb2.setBounds(625,500,55,20); lb2.setForeground(Color.white); btnrenew=new JButton("重玩"); btnback=new JButton("悔一步"); btnlast=new JButton("上一关"); btnnext=new JButton("下一关"); btnchoose=new JButton("选关"); btnfirst=new JButton("第1关"); btnover=new JButton("最终关"); btnmuc=new JButton("音乐关"); add(btnrenew); add(btnlast); add(btnnext); add(btnchoose); add(btnfirst); add(btnover); add(btnmuc); add(btnback); btnrenew.setBounds(625,100,80,30); btnrenew.addActionListener(this); btnback.setBounds(625,150,80,30); btnback.addActionListener(this); btnfirst.setBounds(625,200,80,30); btnfirst.addActionListener(this); btnlast.setBounds(625,250,80,30); btnlast.addActionListener(this); btnnext.setBounds(625,300,80,30); btnnext.addActionListener(this); btnover.setBounds(625,350,80,30); btnover.addActionListener(this); btnchoose.setBounds(625,400,80,30); btnchoose.addActionListener(this); btnmuc.setBounds(625,450,80,30); btnmuc.addActionListener(this); jc.setBounds(625,530,80,20); jc.addItem("认"); jc.addItem("琴萧合奏"); jc.addItem("泡泡堂"); jc.addItem("灌篮高手"); jc.addItem("eyes on me"); jc.addItemListener(this); cont.add(jc); sound=new Sound(); sound.loadSound(); panel=new mainpanel(); add(panel); panel.Tuixiangzi(panel.level); panel.requestFocus(); validate(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==btnrenew||e.getSource()==renew) { panel.Tuixiangzi(panel.level); panel.requestFocus(); panel.remove(); } else if(e.getSource()==btnlast||e.getSource()==last) { panel.level--; if(panel.levelpanel.maxlevel()) {panel.level--; JOptionPane.showMessageDialog(this,"本关已是最后一关"); panel.requestFocus();} else { panel.Tuixiangzi(panel.level); panel.requestFocus(); } panel.remove(); } else if(e.getSource()==exit)System.exit(0); else if(e.getSource()==about) { JOptionPane.showMessageDialog(this, "JAVA推箱子游戏!(version 3.0)"); } else if(e.getSource()==btnchoose||e.getSource()==choose) { String lel=JOptionPane.showInputDialog(this,"请输入您要转到的关卡号:(1~50)"); panel.level=Integer.parseInt(lel); panel.remove(); if(panel.level>panel.maxlevel()||panel.level

运行:

以上就是我们的灰太狼古堡推箱子的小游戏啦!

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...