我们做的是 “灰太狼推箱子” 的小游戏
首先准备需要的图片:
然后放入二进制文件(所谓的地图)
当然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=