资源简介
自己制作的推箱子游戏完整源码及素材,一共有十个关卡,可以进行正常移动操作和跳关操作(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实现)
相关资源
- 华容道完整源码及素材(Java实现)
- Java版连连看游戏完整源码+素材
- Java版拼图游戏完整源码+素材
- javaSwingQQ登录界面
- 推箱子java实现源码
- java+swing+mysql实现的学生信息管理系统
- 实时、动态的毛玻璃aero效果,javaSw
- java swing url器
- java swing 闹钟源码
- 加密解密字符串工具含源码,可双击
- 用Java程序读取Excel表格内容并显示在
- 网页正文提取 jsoup实现
- 《Java+Swing图形界面开发与案例详解》
- java平台基于TCP的聊天室设计
- 双人象棋对战游戏
- 操作系统课设,用java实现磁盘调度算
- (swing+mysql+jdbc员工管理系统
- 魔塔Java开源(素材+源码)
- JavaSwing图片查看器源码
- javaFX写的推箱子小游戏
- 纯JavaSwing界面,小型人才资源管理系
- java简单推箱子小游戏
- java排课系统正式使用
- java,socket聊天,单聊,群聊,传文件
- 图书管理系统java+swing+sql2008
- java多线程+Socket+Swing做的局域网聊天程
- java+swing+画图板Java实用源码整理lear
- android游戏开发之摇杆控制源码
- java五子棋源码人人
- java课设打字练习Swing
评论
共有 条评论