`

java版 推箱子

    博客分类:
  • J2SE
 
阅读更多
java版 推箱子源码
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("推箱子v2.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("JAVA推箱子v2.0版!!!http://www.codefans.net提供友情下载。有问题请发邮件至shichaoling1@126.com",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.level<1)
			{panel.level++;JOptionPane.showMessageDialog(this,"本关是第一关");panel.requestFocus();}
			else 
			{
				panel.Tuixiangzi(panel.level);
				panel.requestFocus();
			}
			panel.remove();
		}
		else if(e.getSource()==btnnext||e.getSource()==next)
		{
			panel.level++;
			if(panel.level>panel.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推箱子v2.0版\n开发者:施超\nEmail:   shichaoling1@126.com\nQQ:   450400704");
		}
		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<1)
			{JOptionPane.showMessageDialog(this, "没有这一关!!!");panel.requestFocus();}
			else
				{
				panel.Tuixiangzi(panel.level);
				panel.requestFocus();
				}
		}
		
		else if(e.getSource()==btnfirst)
		{
			panel.level=1;
			panel.Tuixiangzi(panel.level);
			panel.requestFocus();
			panel.remove();
		}
		else if(e.getSource()==btnover)
		{
			panel.level=panel.maxlevel();
			panel.Tuixiangzi(panel.level);
			panel.requestFocus();
			panel.remove();
		}
		else if(e.getSource()==btnmuc)
		{
			if(sound.isplay())
			{
				sound.mystop();btnmuc.setLabel("音乐开");
			}
			else 
			{
				sound.loadSound();btnmuc.setLabel("音乐关");
			}
			panel.requestFocus();
		}
		else if(e.getSource()==btnback||e.getSource()==back)
		{
			if(panel.isMystackEmpty())JOptionPane.showMessageDialog(this, "您还未移动!!!");
			else
			{
				switch(panel.back())
				{
					case 10:panel.backup(10);break;
					case 11:panel.backup(11);break;
					case 20:panel.backdown(20);break;
					case 21:panel.backdown(21);break;
					case 30:panel.backleft(30);break;
					case 31:panel.backleft(31);break;
					case 40:panel.backright(40);break;
					case 41:panel.backright(41);break;
				}
			}
			panel.requestFocus();
		}
		else if(e.getSource()==nor)
		{
			jc.setSelectedIndex(0);
		}
		
		else if(e.getSource()==qin)
		{
			jc.setSelectedIndex(1);
		}
		else if(e.getSource()==guang)
		{
			
			jc.setSelectedIndex(3);
			
		}
		else if(e.getSource()==eye)
		{
			jc.setSelectedIndex(4);
		}
		else if(e.getSource()==po)
		{
			jc.setSelectedIndex(2);
		}
	}
	public void itemStateChanged(ItemEvent ie)
	{
		int no=jc.getSelectedIndex();
		switch(no)
		{
			case 0:sound.setMusic("nor.mid");
					 if(sound.isplay())
					 sound.mystop();
					 sound.loadSound();
					 btnmuc.setLabel("音乐关");
					 nor.setEnabled(false);
					 qin.setEnabled(true);
					 guang.setEnabled(true);
					 eye.setEnabled(true);
					 po.setEnabled(true);panel.requestFocus();break;
			case 1:sound.setMusic("qin.mid");
					 if(sound.isplay())
					 sound.mystop();
					 sound.loadSound();
					 btnmuc.setLabel("音乐关");
					 nor.setEnabled(true);
					 qin.setEnabled(false);
					 guang.setEnabled(true);
					 eye.setEnabled(true);
					 po.setEnabled(true);panel.requestFocus();break;
			case 2:sound.setMusic("popo.mid");
					if(sound.isplay())
					sound.mystop();
					sound.loadSound();
					btnmuc.setLabel("音乐关");
					nor.setEnabled(true);
					qin.setEnabled(true);
					guang.setEnabled(true);
					eye.setEnabled(true);
					po.setEnabled(false);panel.requestFocus();break;
			case 3:sound.setMusic("guang.mid");
					if(sound.isplay())
					sound.mystop();
					sound.loadSound();
					btnmuc.setLabel("音乐关");
					nor.setEnabled(true);
					qin.setEnabled(true);
					guang.setEnabled(false);
					eye.setEnabled(true);
					po.setEnabled(true);panel.requestFocus();break;
			case 4:sound.setMusic("eyes on me.mid");
					if(sound.isplay())
					sound.mystop();
					sound.loadSound();
					btnmuc.setLabel("音乐关");
					nor.setEnabled(true);
					qin.setEnabled(true);
					guang.setEnabled(true);
					eye.setEnabled(false);
					po.setEnabled(true);panel.requestFocus();break;
		}
	}
}

class mainpanel extends JPanel implements KeyListener
{
	int max=50;
	int[][] map,maptmp;
	int manX,manY,boxnum;
	Image[] myImage;
	Readmap Levelmap;
	Readmap Levelmaptmp;
	int len=30;
	public int level=1;
	Stack mystack=new Stack();
	mainpanel()
	{	
		setBounds(15,50,600,600);
		setBackground(Color.white);
		addKeyListener(this);
		myImage=new Image[10];
		for(int i=0; i<10; i++)
		{
		    myImage[i] = Toolkit.getDefaultToolkit().getImage("pic\\"+i+".gif");
		}
		
		setVisible(true);
	}

	void Tuixiangzi(int i)
	{
		Levelmap=new Readmap(i);
		Levelmaptmp=new Readmap(i);
		map=Levelmap.getmap();
		manX=Levelmap.getmanX();
		manY=Levelmap.getmanY();
		maptmp=Levelmaptmp.getmap();
		repaint();
	}
	int maxlevel(){return max;}

	public void paint(Graphics g)
	{
		for(int i=0; i<20; i++)
			for(int j=0; j<20; j++)
		    {
			    g.drawImage(myImage[map[j][i]],i*len,j*len,this);
			}		
		g.setColor(new Color(0,0,0));
		g.setFont(new Font("楷体_2312",Font.BOLD,30));
		g.drawString("现在是第",150,40);
		g.drawString(String.valueOf(level),310,40);
		g.drawString("关",360,40);
	}

	public void keyPressed(KeyEvent e)
	{
		if(e.getKeyCode()==KeyEvent.VK_UP){moveup();}
		if(e.getKeyCode()==KeyEvent.VK_DOWN){movedown();}
		if(e.getKeyCode()==KeyEvent.VK_LEFT){moveleft();}
		if(e.getKeyCode()==KeyEvent.VK_RIGHT){moveright();}
		if(iswin())
		{
			if(level==max){JOptionPane.showMessageDialog(this, "恭喜您通过最后一关!!!");}
			else
			{
				String msg="恭喜您通过第"+level+"关!!!\n是否要进入下一关?";
				int type=JOptionPane.YES_NO_OPTION;
				String title="过关";
				int choice=0;
				choice=JOptionPane.showConfirmDialog(null,msg,title,type);
				if(choice==1)System.exit(0);
				else if(choice==0)
				{
					level++;
					Tuixiangzi(level);
				}
			}
			mystack.removeAllElements();
		}
	}
	public void keyTyped(KeyEvent e){}
	public void keyReleased(KeyEvent e){}

	boolean isMystackEmpty(){return mystack.isEmpty();}
	
	int  back(){return (Integer)mystack.pop();}

	void remove(){mystack.removeAllElements();}
	
	void moveup()
	{
		if(map[manY-1][manX]==2||map[manY-1][manX]==4)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
				map[manY][manX]=4;
			else map[manY][manX]=2;
			map[manY-1][manX]=8;
			repaint();manY--;mystack.push(10);
		}
		else if(map[manY-1][manX]==3)
		{
			if(map[manY-2][manX]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY-1][manX]=8;
				map[manY-2][manX]=9;
				repaint();manY--;mystack.push(11);
			}
			else if(map[manY-2][manX]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY-1][manX]=8;
				map[manY-2][manX]=3;
				repaint();manY--;mystack.push(11);
			}
			else {map[manY][manX]=8;repaint();}
		}
		else if(map[manY-1][manX]==9)
		{
			if(map[manY-2][manX]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY-1][manX]=8;
				map[manY-2][manX]=9;
				repaint();manY--;mystack.push(11);
			}
			else if(map[manY-2][manX]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY-1][manX]=8;
				map[manY-2][manX]=3;
				repaint();manY--;mystack.push(11);
			}
			else {map[manY][manX]=8;repaint();}
		}
		if(map[manY-1][manX]==1)
		{
			map[manY][manX]=8;repaint();
		}
	}
	
	void backup(int t)
	{
		int n=t;
		if(n==10)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=4;
			}
			else map[manY][manX]=2;
		}
		else if(n==11)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=9;
			}
			else map[manY][manX]=3;
			if(maptmp[manY-1][manX]==4||maptmp[manY-1][manX]==9)
			{
				map[manY-1][manX]=4;
			}
			else map[manY-1][manX]=2;
		}
		map[manY+1][manX]=8;
		repaint();manY++;
	}

	void movedown()
	{
		if(map[manY+1][manX]==2||map[manY+1][manX]==4)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
				map[manY][manX]=4;
			else map[manY][manX]=2;
			map[manY+1][manX]=5;
			repaint();manY++;mystack.push(20);
		}
		else if(map[manY+1][manX]==3)
		{
			if(map[manY+2][manX]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY+1][manX]=5;
				map[manY+2][manX]=9;
				repaint();manY++;mystack.push(21);
			}
			else if(map[manY+2][manX]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY+1][manX]=5;
				map[manY+2][manX]=3;
				repaint();manY++;mystack.push(21);
			}
			else {map[manY][manX]=5;repaint();}
		}
		else if(map[manY+1][manX]==9)
		{
			if(map[manY+2][manX]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY+1][manX]=5;
				map[manY+2][manX]=9;
				repaint();manY++;mystack.push(21);
			}
			else if(map[manY+2][manX]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY+1][manX]=5;
				map[manY+2][manX]=3;
				repaint();manY++;mystack.push(21);
			}
			else {map[manY][manX]=5;repaint();}
		}
		else if(map[manY+1][manX]==1)
		{
			map[manY][manX]=5;repaint();
		}
	}

	void backdown(int t)
	{
		int n=t;
		if(n==20)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=4;
			}
			else map[manY][manX]=2;
		}
		else if(n==21)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=9;
			}
			else map[manY][manX]=3;
			if(maptmp[manY+1][manX]==4||maptmp[manY+1][manX]==9)
			{
				map[manY+1][manX]=4;
			}
			else map[manY+1][manX]=2;
		}
		map[manY-1][manX]=5;
		repaint();manY--;
	}

	void moveleft()
	{
		if(map[manY][manX-1]==2||map[manY][manX-1]==4)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
				map[manY][manX]=4;
			else map[manY][manX]=2;
			map[manY][manX-1]=6;			
			repaint();manX--;mystack.push(30);
		}
		else if(map[manY][manX-1]==3)
		{
			if(map[manY][manX-2]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX-1]=6;
				map[manY][manX-2]=9;
				repaint();manX--;mystack.push(31);
			}
			else if(map[manY][manX-2]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX-1]=6;
				map[manY][manX-2]=3;
				repaint();manX--;mystack.push(31);
			}
			else {map[manY][manX]=6;repaint();}
		}
		else if(map[manY][manX-1]==9)
		{
			if(map[manY][manX-2]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX-1]=6;
				map[manY][manX-2]=9;
				repaint();manX--;mystack.push(31);
			}
			else if(map[manY][manX-2]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX-1]=6;
				map[manY][manX-2]=3;
				repaint();manX--;mystack.push(31);
			}
			else {map[manY][manX]=6;repaint();}
		}
		else if(map[manY][manX-1]==1)
		{
			map[manY][manX]=6;repaint();
		}
	}

	void backleft(int t)
	{
		int n=t;
		if(n==30)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=4;
			}
			else map[manY][manX]=2;
		}
		else if(n==31)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=9;
			}
			else map[manY][manX]=3;
			if(maptmp[manY][manX-1]==4||maptmp[manY][manX-1]==9)
			{
				map[manY][manX-1]=4;
			}
			else map[manY][manX-1]=2;
		}
		map[manY][manX+1]=6;
		repaint();manX++;
	}

	void moveright()
	{
		if(map[manY][manX+1]==2||map[manY][manX+1]==4)
		{			
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
				map[manY][manX]=4;
			else map[manY][manX]=2;
			map[manY][manX+1]=7;			
			repaint();manX++;mystack.push(40);
		}
		else if(map[manY][manX+1]==3)
		{
			if(map[manY][manX+2]==4)
			{
				if(maptmp[manY][manX]==4)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX+1]=7;
				map[manY][manX+2]=9;
				repaint();manX++;mystack.push(41);
			}
			else if(map[manY][manX+2]==2)
			{
				if(maptmp[manY][manX]==4)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX+1]=7;
				map[manY][manX+2]=3;
				repaint();manX++;mystack.push(41);
			}
			else {map[manY][manX]=7;repaint();}
		}
		else if(map[manY][manX+1]==9)
		{
			if(map[manY][manX+2]==4)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX+1]=7;
				map[manY][manX+2]=9;
				repaint();manX++;mystack.push(41);
			}
			else if(map[manY][manX+2]==2)
			{
				if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
					map[manY][manX]=4;
				else map[manY][manX]=2;
				map[manY][manX+1]=7;
				map[manY][manX+2]=3;
				repaint();manX++;mystack.push(41);
			}
			else {map[manY][manX]=7;repaint();}
		}
		else if(map[manY][manX+1]==1)
		{
			map[manY][manX]=7;repaint();
		}
	}

	void backright(int t)
	{
		int n=t;
		if(n==40)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=4;
			}
			else map[manY][manX]=2;
		}
		else if(n==41)
		{
			if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)
			{
				map[manY][manX]=9;
			}
			else map[manY][manX]=3;
			if(maptmp[manY][manX+1]==4||maptmp[manY][manX+1]==9)
			{
				map[manY][manX+1]=4;
			}
			else map[manY][manX+1]=2;
		}
		map[manY][manX-1]=7;
		repaint();manX--;
	}

	boolean iswin()
	{
		boolean num=false;
		out:for(int i=0; i<20; i++)
			for(int j=0; j<20; j++)
		{
			if(maptmp[i][j]==4||maptmp[i][j]==9)
				if(map[i][j]==9)num=true;
			    else {num=false;break out;}
		}
		return num;
	}
}

class Sound
{
	String path=new String("musics\\");
	String  file=new String("nor.mid");
	Sequence seq;
    Sequencer midi;
	boolean sign;
	void loadSound()
	{
		try {
            seq=MidiSystem.getSequence(new File(path+file));
            midi=MidiSystem.getSequencer();
            midi.open();
            midi.setSequence(seq);
			midi.start();
			midi.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
        }
        catch (Exception ex) {ex.printStackTrace();}
		sign=true;
	}
	void mystop(){midi.stop();midi.close();sign=false;}
	boolean isplay(){return sign;}
	void setMusic(String e){file=e;}
}

class Readmap
{
	private int level,mx,my;
	private int[][] mymap=new int[20][20];
	FileReader r;
	BufferedReader br;String bb="";
	int[] x;int c=0;
	Readmap(int k)
	{
		level=k;
		String s;
		try
		{
			File f=new File("maps\\"+level+".map");
			r=new FileReader(f);
			br=new BufferedReader(r);
		}
		catch (IOException e)
		{
			System.out.println(e);
		}
		try
		{
			while ((s=br.readLine())!=null)
			{
				bb=bb+s;
				
			}
		}
		catch (IOException g)
		{
			System.out.println(g);
		}
		byte[] d=bb.getBytes();
		int len=bb.length();
		int[] x=new int[len];
		for(int i=0;i<bb.length();i++)x[i]=d[i]-48;
		for(int i=0;i<20;i++)
		{
			for(int j=0;j<20;j++)
		    {
				mymap[i][j]=x[c];
		        if(mymap[i][j]==5)
		        {
					mx=j;my=i;
		        }
		        c++;
		    }
	    }
	}
	int[][] getmap(){return mymap;}
	int getmanX(){return mx;}
	int getmanY(){return my;}
}

效果图如下:

  • 大小: 98 KB
分享到:
评论

相关推荐

    java 版推箱子

    《Java版推箱子游戏开发详解》 推箱子是一款经典的益智游戏,它的设计思路简洁而富有挑战性。在Java编程领域,实现推箱子游戏不仅可以帮助开发者深入理解对象导向编程、图形用户界面(GUI)设计以及游戏逻辑算法,...

    Java版推箱子

    【Java版推箱子】是一款基于Java编程语言,利用JavaSwing图形用户界面库以及XML技术开发的桌面小游戏。这款游戏的设计灵感来源于经典的智力游戏——推箱子,玩家需要在二维网格地图中移动一个代表自己的角色,将箱子...

    Java版推箱子小游戏Demo.zip

    Java版推箱子小游戏Demo.zipJava版推箱子小游戏Demo.zipJava版推箱子小游戏Demo.zip Java版推箱子小游戏Demo.zipJava版推箱子小游戏Demo.zipJava版推箱子小游戏Demo.zip Java版推箱子小游戏Demo.zipJava版推箱子小...

    java版推箱子

    《Java版推箱子游戏开发详解》 推箱子是一款经典的益智游戏,凭借其巧妙的关卡设计和逻辑挑战,深受玩家喜爱。本文将详细介绍如何使用Java编程语言来实现这款经典...现在,打开你的IDE,开始你的Java推箱子之旅吧!

    java版推箱子游戏

    《Java版推箱子游戏详解与开发实践》 推箱子游戏,源自经典的逻辑益智游戏,以其独特的策略性和趣味性深受玩家喜爱。在这个Java版本中,我们不仅能够体验到游戏的乐趣,还能深入理解Java编程的精髓。这个项目是一个...

    java版推箱子小游戏

    【Java版推箱子小游戏】是一款基于Java编程语言开发的经典益智类游戏,它以其独特的关卡设计和逻辑挑战深受玩家喜爱。在这个版本中,玩家需要操控一个角色在二维网格地图上移动,目标是将所有箱子推到指定的位置,每...

    java版推箱子,手机用

    java版推箱子,手机用java版推箱子,手机用

    java版 推箱子游戏编写源码

    总结来说,"java版推箱子游戏编写源码"项目不仅是一个游戏,更是一个学习Java编程、游戏逻辑设计和GUI实现的实践案例。通过研究和修改这个项目,你可以深入理解面向对象编程、事件驱动编程以及游戏开发的各个环节。

    JAVA版推箱子小游戏(源码)和可执行的jar

    在JAVA版的推箱子小游戏里,我们不仅得到了完整的源码,还可以自行编辑关卡地图,增加了游戏的趣味性和可玩性。下面我们将详细探讨这个项目的相关知识点。 1. **JAVA编程语言**:此项目使用JAVA作为主要开发语言,...

    Java版推箱子(搬箱子)游戏开发入门示例及源码

    这是一款Java版推箱子游戏的简单实现。笔者设定[上、下、左、右]为方向控制 ,[S]键为后退到上一步操作,[ESC]为重新开始当前关卡,点击键盘上对应关卡的数字键可以直接选关,需要注意的是笔者以HP限制了角色的移动...

    java小游戏 推箱子 java小游戏 推箱子

    java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推箱子java小游戏 推...

    推箱子正版java.rar

    这个“推箱子正版java.rar”压缩包文件很可能是包含了使用Java编程语言实现的推箱子游戏的源代码。Java是一种广泛应用的面向对象的编程语言,以其跨平台性、安全性以及丰富的类库闻名。 在Java中开发推箱子游戏,...

    一个简单的java般推箱子游戏

    《一个简单的Java版推箱子游戏》 推箱子游戏,源于早期的计算机游戏,因其独特的策略性和趣味性,深受玩家喜爱。在这个项目中,我们将探讨如何使用Java编程语言实现这样一个简单的推箱子游戏。本文将深入剖析游戏的...

    Java的推箱子小游戏.zip

    Java的推箱子小游戏.zipJava的推箱子小游戏.zipJava的推箱子小游戏.zip Java的推箱子小游戏.zipJava的推箱子小游戏.zipJava的推箱子小游戏.zip Java的推箱子小游戏.zipJava的推箱子小游戏.zipJava的推箱子小游戏.zip...

    推箱子源码(java)

    推箱子游戏,源自经典的逻辑益智游戏,以其简单的规则和深度的策略性在全球范围内广受欢迎。这个源码是用Java编程语言实现的,包括声音效果和50个不同难度等级的地图,为学习者提供了一个很好的实践平台,了解游戏...

    Java-推箱子.zip

    在"Java-推箱子.zip"这个压缩包中,我们推测包含了一个用Java Swing实现的推箱子小游戏。推箱子游戏是一款经典的逻辑解谜游戏,玩家需要操作一个角色在格子状的地图上移动,将箱子推到特定的位置。 在这个项目中,...

Global site tag (gtag.js) - Google Analytics