资源简介
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
相关资源
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
评论
共有 条评论