微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java实现推箱子游戏

这篇文章主要为大家详细介绍了Java实现推箱子游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现推箱子游戏的具体代码,供大家参考,具体内容如下

package Test1; //用于调用Test2包 import Test2.*; import java.awt.*; import javax.swing.*; public class APP extends JFrame{ public static void main(String[] args) { // Todo Auto-generated method stub APP a = new APP(); } public APP() { new Members(); } }

package Test2; import java.awt.Event; import java.awt.Font; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; public class Members extends JFrame implements KeyListener{ //定义一个JLabel数组,用来存放羊的位置 JLabel [][]sheep = new JLabel[12][16]; //0表示的是空地,1表示的是树木 int[][] datas = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} }; //狼的位置 int wx,wy; /* * num值变化的情况 * 1.当羊进入笼子的时候,num+1 * 2.当羊离开笼子的时候,num-1 * 3.当羊从一个笼子离开进入另外一个笼子的时候,num不变 */ //开始的时候羊进入箱子的总数量 int num = 0; //笼子的总数量 int total = 3; //构造函数 public Members() { /* * 如果先放大的图片再放下的会把小的给覆盖,不能看到 * 图片有大小。把小的图片放在大的图片上面 * 所以添加图片组件的时候有顺序,要注意把小的放在大的上面 */ //小图片 //障碍的设计 treeInit(); //做笼子 targetinit(); //推箱子人物的初始化 WolfInit(); //羊的初始化 sheepInit(); //背景图片,大的 //添加背景图片到窗体中 backGroundInit(); //设置整个窗体 setForm(); //注册监听 this.addKeyListener(this); } //设置整个窗体 private void setForm() { // Todo Auto-generated method stub this.setTitle("推箱子游戏"); this.setSize(825,645); //禁止用户改变窗体大小 this.setResizable(false); this.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); //设置窗口居中显示 this.setLocationRelativeto(null); this.setVisible(true); } //背景图片初始化 private void backGroundInit() { // Todo Auto-generated method stub Icon i = new ImageIcon("floor.png"); //使用JLabel制作背景 JLabel lab_bg = new JLabel(i); //设置要添加的组件的位置与大小 lab_bg.setBounds(0, 0, 800, 600); //将这个东西添加到窗体里面 this.add(lab_bg); } //羊所在的位置初始化 private void sheepInit() { // Todo Auto-generated method stub //三只羊 Icon i = new ImageIcon("7.png"); JLabel jb1 = new JLabel(i); jb1.setBounds(6 * 50, 4 * 50, 50, 50); this.add(jb1); //羊所在位置的值设置为4 datas[4][6] = 4; sheep[4][6] = jb1; JLabel jb2 = new JLabel(i); jb2.setBounds(6 * 50, 6 * 50, 50, 50); this.add(jb2); datas[6][6] = 4; sheep[6][6] = jb2; JLabel jb3 = new JLabel(i); jb3.setBounds(6 * 50, 10 * 50, 50, 50); this.add(jb3); datas[10][6] = 4; sheep[10][6] = jb3; } JLabel jb = null; private void WolfInit() { // Todo Auto-generated method stub //人物最初位置在哪里? wx = 4 ; wy = 5 ; //使用一张图片来模拟人物 //1.创建一张图片,人物图片 Icon i = new ImageIcon("3.png"); //2.使用JLabel组件模拟人物 jb = new JLabel(i); //3.设置人物在屏幕上的显示位置 //人物的显示位置放置在何处较为合理?---------------- jb.setBounds(wx*50, wy*50, 50, 50); //4.把这个人物放到窗体里面 this.add(jb); } //笼子的位置初始化 private void targetinit() { // Todo Auto-generated method stub Icon i = new ImageIcon("target.png"); JLabel jb1 = new JLabel(i); jb1.setBounds(14 * 50, 10 * 50,50,50); this.add(jb1); datas[10][14] = 8; JLabel jb2 = new JLabel(i); jb2.setBounds(13 * 50, 10 * 50, 50, 50); this.add(jb2); datas[10][13] = 8; JLabel jb3 = new JLabel(i); jb3.setBounds(14 * 50, 9 * 50, 50, 50); this.add(jb3); datas[9][14] = 8; } //树木的初始化 private void treeInit() { // Todo Auto-generated method stub Icon k = new ImageIcon("tree.png"); JLabel t = null; for(int i = 0;i

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐