资源简介
自己制作的推箱子游戏完整源码及素材,一共有十个关卡,可以进行正常移动操作和跳关操作(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\Gamefr
文件 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\Gamefr
文件 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个文件信息
- 上一篇:Java版连连看游戏完整源码+素材
- 下一篇:华容道完整源码及素材(Java实现)
相关资源
- JAVA828436
- java swing 做的 汽车租赁系统
- java实现小型函数画图板(附源代码、
- java 简易签到表
- 日历时钟java版实现
- 科研管理系统 java swing mysql
- 【教程】100个Java GUI swing的小程序.r
- Java Swing开发的《星际争霸》游戏
- java swing工资管理系统(源码+数据库
- JavaSE图书馆管理系统
- javaSwing宿舍管理系统
- Swing俄罗斯方块
- java swing 用户登录界面设计
- 基于java的坦克大战游戏234736
- java swing做的图书管理系统
- Android游戏开发疯狂战机
- JAVA基于J2ME的手机游戏开发(论文+源
- 基于JAVA的航空订票系统
- 银行家算法的java代码实现,Swing写的
- Java仿微信飞机大战--Swing界面
- jai_imageio-1.1-alpha与Swingx-1.6.1的jar包
- Java Swing 界面美化包-含源码
- java+access+swing图书管理系统
- 水费管理系统
- 超强SWING JAVA固定资产管理系统
- JAVA+Swing坦克大战
- JAVA Swing小游戏与代码
- 学生管理系统Swing+Java+JDBC,原创
- substance美化包java swing
-
用java Jfr
ame,JPanel写的大鱼吃小鱼小
评论
共有 条评论