资源简介
java课程设计大作业 推箱子游戏的制作说明文档(含素材)
代码片段和文件信息
import javax.swing.Jframe;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class Gameframe extends Jframe {
JPanel panel = new JPanel();
//[2.3] 加入工人
JLabel worker = new JLabel(new ImageIcon(“workerLeft.png“));
public static final int SPEED = 12;
//[2.6] 加入围墙
int[] pos = new int[]{00 10 20 30 40 50 60 70 80 90 100 01 02 03 04 05 06 07 08 09 010 011 012 112 212 312 412 512 612 712 812 912 1012 101 102 103 104 105 106 107 108 109 1010 1011 1012 13 23 33 43 53 63 58 68 78 88 98 108 118 };
JLabel[] walls = new JLabel[pos.length/2];
//[3.1] 加入箱子与胜利标志
JLabel box = new JLabel(new ImageIcon(“box.png“));
JLabel goal = new JLabel(new ImageIcon(“goal.png“));
public Gameframe() {
//[2.2] 完善窗体
this.settitle(“欢迎大家推箱子“);
this.setBounds(200 60 535 650);
this.setContentPane(panel);
panel.setLayout(null);
panel.setBackground(Color.black);
//[2.3] 加入工人
panel.add(worker);
worker.setBounds(240 240 48 48);
//[2.6] 加入围墙
for (int i = 0; i < walls.length; i++) {
walls[i] = new JLabel(new ImageIcon(“wall.png“));
panel.add(walls[i]);
walls[i].setBounds(pos[i * 2] * 48 pos[i * 2 + 1] * 48 48 48);
}
//[3.1] 加入箱子与胜利标志
panel.add(box);
panel.add(goal);
box.setBounds(240 96 48 48);
goal.setBounds(336 432 48 48);
this.setVisible(true);
//[2.4] 监听键盘事件
this.addKeyListener(new KeyListener() {
//键盘按下事件
public void keyPressed(KeyEvent e) {
//[2.5] 使工人可以移动
int xSpeed = 0 ySpeed = 0;
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT :
xSpeed = -SPEED;
worker.setIcon(new ImageIcon(“workerLeft.png“));
break;
case KeyEvent.VK_RIGHT :
xSpeed = SPEED;
worker.setIcon(new ImageIcon(“workerRight.png“));
break;
case KeyEvent.VK_UP :
ySpeed = -SPEED;
worker.setIcon(new ImageIcon(“workerUp.png“));
break;
case KeyEvent.VK_DOWN :
ySpeed = SPEED;
worker.setIcon(new ImageIcon(“workerDown.png“));
break;
default:
return;
}
worker.setBounds(worker.getX() + xSpeed worker.getY() + ySpeed worker.getWidth() worker.getHeight());
//[2.7] 判断工人是否撞到墙壁
for (int i = 0; i < walls.length; i++) {
if (worker.getBounds().intersects(walls[i].getBounds())) {
worker.setBounds(worker.getX() - xSpeed worker.getY() - ySpeed worker.getWidth() worker.getHeight());
}
}
//[3.2] 使工人可以推动箱子
if (worker.getBounds().intersects(box.getBounds())) {
box.setBounds(box.getX() + xSpeed box.getY() + ySpeed box.getWidth() box.getHeight());
//[3.3] 判断箱子是否撞到墙壁
for (int i = 0; i < walls.length; i++) {
if (box.getBounds()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-03-27 20:27 推箱子\
文件 226 2009-12-03 15:36 推箱子\.classpath
文件 385 2009-12-03 15:36 推箱子\.project
文件 1035 2009-12-03 15:51 推箱子\box.png
文件 2049 2010-09-06 16:54 推箱子\Gamefr
文件 2400 2010-09-06 16:54 推箱子\Gamefr
文件 3720 2010-05-23 09:09 推箱子\Gamefr
文件 1160 2009-12-03 15:51 推箱子\goal.png
文件 4989 2009-12-03 15:51 推箱子\wall.png
文件 2282 2009-12-03 15:51 推箱子\workerDown.png
文件 2240 2009-12-03 15:51 推箱子\workerLeft.png
文件 2288 2009-12-03 15:51 推箱子\workerRight.png
文件 2281 2009-12-03 15:51 推箱子\workerUp.png
文件 551739 2009-12-02 20:39 推箱子程序制作说明文档.pdf
相关资源
- java课程设计大作业写的扫雷小游戏设
- java课程设计大作业写的 推箱子小游戏
- java 课程设计大作业 写的塔防小游戏
- java 课程设计大作业 写的一个RPG游戏
- java后台获取微信用户的openId并返回
- JAVA多线程运用
- 利用JAVA和Floyd算法实现上海地铁最短
- java打字练习
- java 用udp,tcp协议实现的局域网聊天程
- java多线程模拟处理银行的实时转账交
- JAVA语言考试系统的设计与实现(论文
- java零基础入门-最新版2019600元的课
- javafx实现五子棋。有下棋悔棋重新开
- java实现野人与传教士过河问题
- POI读取Excel合并单元格并储存
- java动态识别文件编码EncodingDetect.jav
- 五子棋 人机对弈 JAVA实现
- 五子棋 人机对弈 只有棋盘版本
- 微信java支付和登录api demo
- Java经典编程题汇总
- java在线预览需要的jar包
- 未来教育二级java激活码
- Java课程设计文档说明书商城项目
- 双人对战java贪吃蛇
- Java爬虫项目
- 坦克大战Java源码适合新手
- JavaDES通过秘钥加密解密Demo
- 基于java socket使用tcp udp进行简易控制
- JAVA网络程序设计动态温度曲线绘制
- Java动态编译Java代码,运行在内存中,
评论
共有 条评论