《java推箱子游戏源代码(含推箱子的判断)》由会员分享,可在线阅读,更多相关《java推箱子游戏源代码(含推箱子的判断)(6页珍藏版)》请在人人文库网上搜索。

1、第一个Java文件:package xiaoA;import j ava awt Color;import j ava awt ReadiessException;import j ava awt event KeyEvent;import j ava awt event KeyListener;import j avax swing Imageicon;import j avax swing JFrame;import j avax swing JLabml;import j avax swing JOptionPanE;import j avax swing JPanel;public c。

2、lass GammFramm extends JFrame JPanel zhuobu = new JPanel();/工人JLabel worker = null;/箱子JLabel box = null;/目的地JLabel goal = null;JLabel walls = null;public static final int SPEED = 12;/设置图片大小int imgSize = 48;public void setlmgSize(int imgSize)this imgSize: = imgSize;public GameFrame(String title) thro。

3、ws HeadlessException super(title);/构造方法中调用本类的其它方法this initContEntPanE();this addKeyListener(new KeyListener()/键盘按下事件public void keyPressed(KeyEvent e) /2.5使工人可以移动int xSpeed = 0, ySpeed = 0;switch (mgetKeyCode()case KeyEvent VK LEFT :xSpeed = -SPEED;worker seticon(new Imageicon(image/workerUp gif); b。

4、reak;case KeyEvent VKRIGHT :xSpeed = SPEED;worker seticon(new Imageicon(Himage/workerUp gif);break;case KeyEvent VKUP :ySpeed = -SPEED;worker Icon (new Imageicon (image/workerUp gif ); break;case KeyEvent VK_DOWN :ySpeed = SPEED;worker seticon(new Imageicon(image/workerUp gif);break;default:return;w。

5、orker smtBounds (worker gmtX() + :Speedr worker gmtY() + ySpeed, worker gmtWidth(), worker getHeight();/2.7判断工人是否撞到墙壁for (int i = 0; i walls1ength; i+)if (worker gmtBounds() intersects(wallsi) gotBounds() vzorker sw七Bounds (work?二getX () - :-:Speedf xorker getY () - ySpeed, worker getWidth(), worker。

6、 gEtHmight();/3.2使工人可以推动箱子if (worker get Bounds () intmirsects (bo:t got Bounds () ) )box smtBounds (box gmt;X() + xSpeed, box gEtY() + ySpeed, box gmtWidth(), box gEtHmight();/3.3判断箱子是否撞到墙壁for (int i = 0; i walls length; i+)if (box getBounds() intersects(wallsi) getBounds()worker smtBounds (woMker 。

7、gmtX() 一 xSpeed, worker gmt;Y() 一 ySpeed, worker gmtWidth(), worker getHeight();box smtBounds (boK gmtX() 一 xSpeed, box gmt;Y() 一 ySpeed, box gmtWidth(), box gEtHmight();/3.4判断是否胜利if (box getX () =goa1 gm*tX() & box getY () =goal getY () )JOptionPane sho站Messa丁(null,您贏啦! H);public void keyReleased(K。

8、eyEvent e) public void keyTyped(KeyEvent e) );/ *设置内容面板*/public void InitContentPane()zhuobu setBackground(Color red); zhuobu setLayout(null);/调用父类的属性和方法super setContentPane(zhuobu);*把某个图片以组件的方式加入窗体* Qparam imgPath 图片路径Qparam x param y宽度高度添加完的组件Qparam widthQparam heightreturnpublic void addComponent。

9、(int tagf String imgPathf int int y) Imageicon img = new Imageicon(imgPath);/ /创建JLabel:lE!lmageIcon通过构造方法传参传入/把食物放到盘子里JLabel componet = new JLabel(img);/设置盘子在桌布上的位置和大小componet smtBounds(x, y, imgSize, imgSize);/把盘了放到桌布上zhuobu add (componet;);switch (tag) case 1:box = componet;break;case 2:goal = co。

10、mponet;break;case 3:worker = componet;break;public void add?7all (String imgPath, int loactions)Imageicon walllmg = new Imageicon(imgPath);walls = new JLabel66 + loactions丄mngth;for (int i = 0; i walls丄mngth; i+)/创建没每个围墙,他们使用的是同-个图片walls i = new JLabel(walllmg);for (int i = 0; i V walls丄mngth; i+)/创。

11、建没每-个围墙,他们使用的是同个图片wallsi = new JLabel(walllmg);int index = 0;分别设置各个图片位置*/for (int i = 0; i 14; i+)/左边墙x-jalls index smtBounds (0z i * imgSizer imgSizer imgSize);zhuobu add(wallsindex);index+;/右边墙wallsindexsetBounds(20 * imgSize, i imgSizef imgSizezimgSize);zhuobu add(wallsindex);index+;for (int i = 。

12、0; i 19; i+)/上边墙wallsindexsmtBounds(i + 1)* imgSize 0 r imgSizeimgSize);zhuobu add (xalls index);index+;/下边墙x-zalls index setBounds ( (i + 1) * imgSize, 13 * imgSizez imgSize, imgSize);zhuobu add(wallsindex);index+;/添加中间障碍耦合解耦for (int i = 0; i loactions丄mngth; i+)wallsindex smtBounds(loactionsi 0* i。

13、mgSizef loactionsi1* imgSize, imgSize, imgSize);zhuobu add(wallsindex);inde:+;第二个Java文件:public class Run public static void main(String args) GameFrame gameFrame = new GameFrame(H推箱子游戏 ”); 设宜大小gameFrame.setBounds( 100,50. 21 *48 + 5, 14 *48 + 25);窗体大小不可变gameFranie.setRcsizable(false);gameFranie.setImgSize(48);gameFrame.addComponent(3, HworkerUp.png* 400. 100);gameFrame.addComponent( 1, ”box.png, 160. 60);gamcFramcaddComponciH(2, “goal.pngt 80, 520);int wallLocations =4,5,5,5,6,5,7,5, 8,5,9,5,10,5,6,8,7.8,&8,9.8,10,8,11,5;gameFranie.addWall(Hwall.png, wallLocations);gameFranie.setVisible(true。

推箱子游戏 java源代码_java推箱子游戏源代码(含推箱子的判断)相关推荐

  1. java走棋_Java五子棋小游戏(控制台纯Ai算法)

    Java五子棋小游戏(控制台纯Ai算法) 继续之前的那个五子棋程序 修复了一些已知的小Bug 这里是之前的五子棋程序 原文链接 修复了一些算法缺陷 本次增加了AI算法 可以人机对战 也可以Ai对Ai看 ...

  2. java井字游戏_java井字棋源代码(双人对战版)

    [实例简介] [实例截图] [核心代码] package com.pan.ttt; import java.awt.*; import java.awt.event.*; import javax.s ...

  3. 24点游戏 java实现_java实现24点纸牌游戏

    本文题目为大家分享了java实现24点纸牌游戏的具体代码,供大家参考,具体内容如下 题目 24点游戏是经典的纸牌益智游戏. 常见游戏规则: 从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢 ...

  4. java钓鱼_java实现纸牌游戏之小猫钓鱼算法

    星期天小哼和小哈约在一起玩桌游,他们正在玩一个非常古怪的扑克游戏--"小猫钓鱼".游戏的规则是这样的:将一副扑克牌平均分成两份,每人拿一份.小哼先拿出手中的第一张扑克牌放在桌上,然 ...

  5. python猜拳小游戏实验报告_Java猜拳小游戏程序设计实验报告

    实验题目:猜拳小游戏 实验要求: 用 java 编写一个人机对战的猜拳小游戏.人选择性出拳,电脑随机出拳,判断 输赢,记录输赢情况.有简单的操作界面. 实验内容: 1 .问题分析过程: ( 1 )首先 ...

  6. java五子棋游戏源代码_Java实现五子棋游戏的完整代码

    用Java编写简单的五子棋,供大家参考,具体内容如下 前言 这两天在空闲时间做了个五子棋项目,分享给大家看一下,界面是这样的: 界面很丑我知道,本人虽有几年PS基础,但知识浅薄,审美观不尽人意,做到如 ...

  7. 消灭泡泡糖游戏java编程_JAVA面向对象编程课程设计——泡泡堂

    ###一.成员介绍 姓名|任务分配|个人博客链接 --|:--:|--: 张一弛(组长)|GUI设计.游戏界面相关类实现.阿里巴巴扫描纠错.团队博客编写|在做了,在做了,下次一定 王江鸿|Box类.B ...

  8. java太阳系_Java太阳系小游戏分析和源代码

    Java太阳系小游戏分析和源代码 -20150809 近期看了面向对象的一些知识.然后跟着老师的解说做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下近期学的知识: 用到知识点:类的继承.方法的重载 ...

  9. 贪吃蛇游戏java代码_Java实现贪吃蛇游戏

    最近JAVA和JSwing上手练习了一下贪吃蛇,供大家参考,具体内容如下 欢迎交流和加入新的内容 用到了JSwing,下面是一些具体的思路 实现 * 蛇: 采用单链表记录首尾,整个蛇被分为lattic ...

  10. 潜艇大战java代码_java潜艇大战游戏源码项目

    代码如下 package com.util; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimensio ...

最新文章

  1. python做小程序-【实战案例】利用Python做出趣味版防沉迷小程序
  2. Python 微信机器人:itchat库识别消息来源于群聊还是个人
  3. 基于FFmpeg音视频流同步
  4. 使用nohup在后台运行scp
  5. 如何使用MAT进行JVM内存泄露分析
  6. 什么材料反射热量好_封阳台用什么材料好,封阳台用什么玻璃好
  7. python更改数据框指定位置的数据_python – 移动数据框列并更改列顺序
  8. 突发,Spring框架发现重大漏洞!
  9. Leetcode-Implement strStr()-Python
  10. 迅雷Bolt界面引擎将于3月19日对外开放
  11. JavaWeb开发——软件国际化(动态元素国际化)
  12. 如何获取用户的微信openid
  13. 级联样式单与CSS选择器
  14. Java编程学习-Math类
  15. vue如何关闭eslint语法检查
  16. 阻滞增长函数matlab拟合,matlab指数增长和阻滞增长拟合代码讲课稿
  17. Lync 2010升级到Lync 2013 之部署WAC 角色服务器!
  18. 梁权财到徐闻生态工业集聚区调研
  19. Rancher 干什么用的
  20. 导出计算机配置信息吗,怎么导出电脑配置信息

热门文章

  1. ArcGIS教程 - 7 空间数据编辑
  2. 想用Charles抓包,某些app不让抓怎么办
  3. PT100热电阻温度阻值对应表
  4. Yocto OpenCV交叉编译
  5. arduino教学:红外遥控车
  6. php ecos框架,GitHub - shopex/luban-desktop: A PHP Framework For Luban Web Artisans
  7. java中的url_java中的url是什么
  8. Keras LSTM实现多维输入输出时序预测实践详解
  9. 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)
  10. php去除首尾符号,PHP如何去除头尾字符