Java推箱子小游戏-1

原创 2018年04月15日 22:46:04
GameFrame类  (在Java中创建一个窗体)

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;

public class GameFrame extends JFrame implements KeyListener {
 GamePanel gp;//申请一个画布在窗体里面
 public GameFrame(){//构造窗体类
  this.setTitle("推箱子");//窗体标题
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭按钮
  this.setSize(500,500);//窗体的高度和宽度
  
  gp = new GamePanel();//把画布GamePanel赋值给gp
  this.add(gp);//在窗体中添加画布gp
  
  this.addKeyListener(this);
  this.setVisible(true);//设置窗体属性为可见
 }
 public void keyPressed(KeyEvent e) { 
 
  System.out.println(e);
  gp.keyDown(e.getKeyCode());
 
 }
 public void keyReleased(KeyEvent e) { 
 } 
 public void keyTyped(KeyEvent e) { 
 }
}
Run类(用来启动窗体)


public class Run {
 public static void main(String[] args) {
  GameFrame gf = new GameFrame();
 }

}
GamePanel类(在窗体上创建一个画布来放需要出现的东西)
import java.awt.Graphics;
import javax.swing.JPanel;

public class GamePanel extends JPanel {//构造画布类
 GamePlayer player;//定义玩家
 
 public GamePanel(){
  player = new GamePlayer(200,300);//玩家的初始位置
 }
 public void paint(Graphics g){//画笔
  g.fill3DRect(0, 0, 500, 500, true);//从00点添加一个矩形
  player.render(g);
 }
 public void keyDown(int code){
  switch(code){
  case 38://上键值
   player.movePlayer(0, -50);
   break;
  case 40:
   player.movePlayer(0, +50);
   break;
  case 37:
   player.movePlayer(-50, 0);
   break;
  case 39:
   player.movePlayer(+50, 0);
   break;
  }
   this.repaint();//刷新
    
 }
}
GamePlayer类(玩家图片显示在窗体画布上并移动)

import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;

public class GamePlayer {
 Image im;//定义im存放玩家
 int x , y;//玩家在窗体上的坐标
 
 public GamePlayer(int _x,int _y){
 
  ImageIcon icon;
  icon = new ImageIcon("player.png");//icon中存入图片
  im = icon.getImage();
  x= _x;
  y= _y;
 }
 public void render(Graphics g){
  g.drawImage(im , x , y , null);
  
 }
 public void movePlayer(int dx , int dy){
  x += dx;
  y += dy;
 }
}


JAVA推箱子小游戏课程设计

  • 2014年05月29日 21:00
  • 71KB
  • 下载

java版推箱子小游戏

  • 2017年10月29日 11:39
  • 23KB
  • 下载

【Java】Java实现推箱子的小游戏

实现上面的箱子游戏其实并不难,唯一难的地方就是推箱子过程中各种状态的检测。 首先将地图想象成一个二维数组,0代表空地,1代表障碍,4代表箱子,8代表笼子,12代表箱子在笼子中。 程序入口类: impo...
  • qq_32353771
  • qq_32353771
  • 2016-12-18 22:07:52
  • 6665

Java实现推箱子小游戏

package Test1; //用于调用Test2包 import Test2.*; import java.awt.*; import javax.swing.*; public class ...
  • wuxiushu
  • wuxiushu
  • 2016-07-21 10:41:32
  • 3862

推箱子游戏项目实战2016(JAVA)

1.推箱子游戏需求介绍; 2.推箱子游戏界面设计; 3.读取地图文件显示地图; 4.推箱子的具体算法; 5.判断箱子是否推到位; 6.实现推箱子游戏悔一步功能; 7.实现推箱子游戏背景音乐功能; 8.实现推箱子游戏的菜单功能
  • 2016年10月29日 10:25

Java swing小游戏:推箱子

  • 2017年09月29日 11:56
  • 387KB
  • 下载

android app推箱子小游戏源码

  • 2013年12月04日 00:50
  • 2.63MB
  • 下载

Java版推箱子(搬箱子)游戏开发入门示例及源码

 推(搬)箱子,又名Sokoban,仓库番等,是一款堪称古玩级的电脑游戏。提起它,笔者相信没什么人会感觉到陌生,更没什么生物会连听都没听说过。它的发展历史之久远,甚至超越了俄罗斯方块(1988年电脑游...
  • cping1982
  • cping1982
  • 2009-06-10 20:16:00
  • 18735

Java实现推箱子游戏

  • 2009年02月16日 21:04
  • 34KB
  • 下载

C#游戏编程:《控制台小游戏系列》之《推箱子》

《控制台小游戏系列》今天又添加一个新成员了,那就是经典的《推箱子》小游戏。游戏画面如下:...
  • hwenycocodq520
  • hwenycocodq520
  • 2014-03-27 08:36:33
  • 3363
收藏助手
不良信息举报
您举报文章:Java推箱子小游戏-1
举报原因:
原因补充:

(最多只允许输入30个字)