用Java写“数字华容道”小游戏,适合初学者的小游戏

游戏资源放在这里:

链接:百度网盘 请输入提取码 提取码:9290

在这个小游戏里,我们不仅用到了JFrame类,还用到了继承的方法。所以在这里我们用IDEA实现,在一个包下创建一个华容道类,用来进行小游戏的逻辑实现和判断,和一个华容道测试类,用来调用华容道类运行游戏。

游戏界面是这样的:

游戏成功是这样的:显示游戏胜利并且按钮不能再点击。

接下来我们就进行代码的编写:

1、首先我们在测试类里调用华容道类,但此时什么也没有,因为我们还没有在华容道类里写东西,这里就写这一行即可。

public class HuaRongDaoDemo {
    public static void main(String[] args) {
        HuaRongDao hrd = new HuaRongDao();
    }
}

2、接下来我们在华容道类里写逻辑

这里需要注意,我们为了继承自JFrame,所以在一开始要进行继承:

public class HuaRongDao extends JFrame {}

当然也可以选择不继承,这样的话就需要在2.2所示一开始定义JFrame jf = new JFrame;然后把下边的this替换成jf就好了。

2.1首先写一个构造方法,public  HuaRongDao(){},在这个方法里调用后面写的其它游戏逻辑的方法。

构造方法就是就是类构造对象时调用的方法,它的作用是:(1)构造出来一个类的实例 (2)对构造出来个一个类的实例(对象)初始化

2.2用JFrame类来写窗体,在initFrame()方法里进行窗口的初始化。

//显示窗体方法
    public void initFrame() {
        this.setTitle("数字华容道");
        this.setSize(960, 565);
        this.setDefaultCloseOperation(3);
        this.setLayout(null);
        this.setLocationRelativeTo(null);
        this.setAlwaysOnTop(true);
    }

记得把这个方法放在构造方法里,并且在构造方法的最后加上一句this.setVisible(true);

这样窗体就显示出来了。

2.3窗体上的组件有背景、游戏面板、按钮、标题,所以我们用一个方法来打包,最后在构造方法里调用就好了

//组件设置
    public void paintView() {

        //标题设置
        JLabel title = new JLabel(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\title.png"));
        title.setBounds(354, 27, 232, 57);
        this.add(title);

        //游戏面板设置
        jPanel = new JPanel();
        jPanel.setBounds(150, 114, 360, 360);
        jPanel.setLayout(null);
        //把图片放进去
        for (int i = 0; i < datas.length; i++) {
            for (int j = 0; j < datas[i].length; j++) {
                JLabel picture = new JLabel(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\" + datas[i][j] + ".png"));
                picture.setBounds(90 * j, 90 * i, 90, 90);
                jPanel.add(picture);
            }
        }
        this.add(jPanel);


        //上下左右按钮、求助、重置按钮
        up = new JButton(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\shang.png"));
        up.setBounds(732, 165, 57, 57);
        this.add(up);
        down = new JButton(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\xia.png"));
        down.setBounds(732, 247, 57, 57);
        this.add(down);
        left = new JButton(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\zuo.png"));
        left.setBounds(650, 247, 57, 57);
        this.add(left);
        right = new JButton(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\you.png"));
        right.setBounds(813, 247, 57, 57);
        this.add(right);
        help = new JButton(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\qiuzhu.png"));
        help.setBounds(626, 344, 108, 45);
        this.add(help);
        reset = new JButton(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\chongzhi.png"));
        reset.setBounds(786, 344, 108, 45);
        this.add(reset);

        //背景设置
        JLabel background = new JLabel(new ImageIcon("D:\\Java Project\\Test Pro\\Test Projext\\Images\\background.png"));
        background.setBounds(0, 0, 960, 530);
        this.add(background);
    }

这里需要注意,还要在IDEA里的项目下新建一个文件夹,把素材都放进去,这里面的路径就是素材的路径。

  • 14
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值