资源简介

自己制作的推箱子游戏完整源码及素材,一共有十个关卡,可以进行正常移动操作和跳关操作(A键上一关D键下一关)。

资源截图

代码片段和文件信息



import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;

import javax.swing.Jframe;
import javax.swing.JOptionPane;

public class Gameframe extends Jframe implements ActionListener MouseListenerKeyListener{

/**
 * 
 */
private static final long serialVersionUID = 1L;
private int grade = 0;//关卡数
private int row = 7column = 7leftX = 0leftY = 0;//rowcolumn表示人物坐标;leftXleftY记载左上角图片位置
private int mapRow = 0mapColumn = 0;//地图的行列数
private int width = 0height = 0;//屏幕大小
private boolean acceptKey = true;
private Image pic[] = null;
private byte[][] map = null;
private ArrayList list = new ArrayList();//用于撤回操作
Sound sound;

final byte WALL = 1BOX = 2BOXONEND = 3END = 4MANDOWN = 5
MANLEFT = 6MANRIGHT = 7MANUP = 8GRASS = 9MANDOWNONEND = 10MANLEFTONEND = 11
MANRIGHTONEND = 12MANUPONEND = 13;

public Gameframe(){
super(“推箱子游戏带音乐版“);
setSize(600600);
setVisible(true);
setResizable(false);
setLocation(30020);
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
Container cont = getContentPane();
cont.setLayout(null);
cont.setBackground(Color.black);
getPic();
width = this.getWidth();
height = this.getHeight();
this.setFocusable(true);
initMap();
this.addKeyListener(this);
this.addMouseListener(this);
//播放音乐
sound = new Sound();
sound.loadSound();
}

public void initMap(){
map = getMap(grade);
list.clear();
byte[][] temp = map;
for(int i=0;i {
for(int j=0;j System.out.print(temp[i][j]+“ “);
}
System.out.println();
}

getMapSizeAndPosition();
getManPosition();
}

//获取人物当前位置
public void getManPosition(){
for(int i=0;i for(int j=0;j if(map[i][j]==MANDOWN||map[i][j]==MANUP||map[i][j]==MANLEFT||map[i][j]==MANRIGHT){
row = i;
column = j;
break;
}
}
}
}


//获取游戏区域大小及显示游戏的左上角位置
public void getMapSizeAndPosition(){
mapRow = map.length;
mapColumn = map[0].length;
leftX = (width - map[0].length * 30)/2;
leftY = (height - map.length * 30)/2;
System.out.println(leftX);
System.out.println(leftY);
System.out.println(mapRow);
System.out.println(mapColumn);
}

public void getPic(){
pic = new Image[14];
for(int i=0;i<=13;i++){
pic[i] = Toolkit.getDefaultToolkit().getImage(“D:/Game/pic“+i+“.png“);
}
}

public byte grassOrEnd(byte man){
byte result = GRASS;
if(man == MANLEFTONEND || man == MANRIGHTONEND || man == MANUPONEND || man == MANDOWNONEND){
result = END;
}

ret

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件          91  2018-12-18 12:06  使用说明.txt
     目录           0  2018-12-18 12:12  推箱子\
     文件         301  2018-12-18 12:11  推箱子\.classpath
     文件         385  2018-12-18 12:11  推箱子\.project
     目录           0  2018-12-18 12:12  推箱子\.settings\
     文件         598  2018-12-18 12:11  推箱子\.settings\org.eclipse.jdt.core.prefs
     目录           0  2018-12-18 12:12  推箱子\bin\
     文件       11527  2018-12-18 12:11  推箱子\bin\Gameframe.class
     文件        1108  2018-12-18 12:11  推箱子\bin\Map.class
     文件        6064  2018-12-18 12:11  推箱子\bin\MapFactory.class
     文件        1951  2018-12-18 12:11  推箱子\bin\Sound.class
     目录           0  2018-12-18 12:12  推箱子\src\
     文件       10877  2018-12-18 12:11  推箱子\src\Gameframe.java
     文件         723  2018-12-18 12:11  推箱子\src\Map.java
     文件        3701  2018-12-18 12:11  推箱子\src\MapFactory.java
     文件         909  2018-12-18 12:11  推箱子\src\Sound.java
     目录           0  2018-12-18 12:13  素材\
     文件        9075  2018-10-31 15:46  素材\nor.mid
     文件        7326  2018-10-31 09:02  素材\pic1.png
     文件        7050  2018-10-31 09:05  素材\pic10.png
     文件        7678  2018-10-31 09:06  素材\pic11.png
     文件        7004  2018-10-31 09:05  素材\pic12.png
     文件        1478  2018-10-31 09:05  素材\pic13.png
     文件        4706  2018-10-31 09:03  素材\pic2.png
     文件        5076  2018-10-31 09:04  素材\pic3.png
     文件        3728  2018-10-31 09:06  素材\pic4.png
     文件        7050  2018-10-31 09:05  素材\pic5.png
     文件        7678  2018-10-31 09:06  素材\pic6.png
     文件        7004  2018-10-31 09:05  素材\pic7.png
     文件        1478  2018-10-31 09:05  素材\pic8.png
     文件        1154  2018-10-31 09:11  素材\pic9.png
............此处省略0个文件信息

评论

共有 条评论