这篇文章主要为大家详细介绍了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经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。