基于 Java Swing 实现的超级玛丽游戏

一、项目概述

> 这是一个基于 Java Swing 的游戏项目,旨在实现一个支持自定义地图的超级玛丽游戏。  
> 游戏画面精美,包含多种功能和亮点,如地图编辑器、不同状态的马里奥、多种怪物和道具等。

二、项目演示

> 地图编辑器 

> 游戏加载界面

> 跳跃触发碰撞事件

> 杀死敌人获得积分

三、项目结构

- **控制类**:
    - [Control.java](src/com/luck/main/Control.java):负责游戏逻辑和控制。
    - [Main.java](src/com/luck/main/Main.java):主入口类,启动游戏。

- **模型类**:
    - [BadFlower.java](src/com/luck/model/BadFlower.java):食人花类,实现Dangerous接口。
    - [Bullet.java](src/com/luck/model/Bullet.java):子弹类,实现Moveable和Kill接口。
    - [Flower.java](src/com/luck/model/Flower.java):吃了以后可以发射子弹的类,实现Growable接口。
    - [Hole.java](src/com/luck/model/Hole.java):地面上存在的洞类。
    - [Mario.java](src/com/luck/model/Mario.java):主角类,实现Moveable和Kill接口。
    - [Money.java](src/com/luck/model/Money.java):金币类。
    - [Monster.java](src/com/luck/model/Monster.java):板栗仔类,实现Dangerous和Moveable接口。
    - [Mushroom.java](src/com/luck/model/Mushroom.java):吃了以后变大的蘑菇类,实现Growable和Moveable接口。
    - [Pipe.java](src/com/luck/model/Pipe.java):管道类,实现Flint接口。
    - [Star.java](src/com/luck/model/Star.java):吃了以后变成无敌状态的星星,实现Growable和Moveable接口。
    - [Turtle.java](src/com/luck/model/Turtle.java):乌龟类,实现Dangerous、Kill和Moveable接口。
    - [Wall.java](src/com/luck/model/Wall.java):砖块类,实现Flint接口。

- **工具类**:
    - [ApplicationUtil.java](src/com/luck/tool/ApplicationUtil.java):加载Spring上下文,提供对象实例。
    - [CrashType.java](src/com/luck/tool/CrashType.java):定义物体碰撞类型的常量。
    - [ImageTool.java](src/com/luck/tool/ImageTool.java):包含所有图片资源及预加载方法。
    - [Null.java](src/com/luck/tool/Null.java):Growable接口的空实现类。
    - [Property.java](src/com/luck/tool/Property.java):解析配置文件,获取数据。
    - [SoundTool.java](src/com/luck/tool/SoundTool.java):包含所有音乐资源及播放方法。

- **接口类**:
    - [Dangerous.java](src/com/luck/interfaces/Dangerous.java):可以杀死主角的物体模型。
    - [Flint.java](src/com/luck/interfaces/Flint.java):砖块和管子的接口。
    - [Growable.java](src/com/luck/interfaces/Growable.java):可以被马里奥从砖块中顶出的物体模型。
    - [Kill.java](src/com/luck/interfaces/Kill.java):可以伤害其他物体模型的接口。
    - [Moveable.java](src/com/luck/interfaces/Moveable.java):可以移动的物体模型。

四、功能介绍

1. **地图编辑器**:启动项目后,首先会进入地图编辑器界面。用户可以通过点击并拖动不同的图标到面板上进行地图编辑。支持的图标包括关卡、箭头、带有金币、花朵、蘑菇、星星的砖块、普通砖块、不同方向运动的板栗仔和乌龟、金币、管道、洞等。使用橡皮擦可以擦除已经建立好的模型。完成地图编辑后,可以选择下一关进行编辑,或开始游戏。

2. **游戏角色与状态**:游戏包含小马里奥和大马里奥两种状态。小马里奥可以撞砖块使砖块移动,大马里奥可以顶破普通砖块。怪物有板栗仔、乌龟和食人花,马里奥可以通过跳跃踩死怪物。食人花会定时从管道中出现进行攻击。

3. **道具与效果**:游戏中有星星、蘑菇和花朵三种主要道具。马里奥吃到蘑菇会变成大马里奥,吃到星星会变成无敌状态,吃到花朵后可以发射子弹。

4. **生命与分数系统**:游戏界面会显示剩余生命、当前时间(归零时损失一命)和计分系统。玩家通过杀死怪物、吃道具或过关会获得分数加成。

五、操作指南

- **移动**:使用 **A** 和 **D** 键控制马里奥左右移动。
- **跳跃**:使用 **K** 键控制跳跃。
- **发射子弹**:在马里奥吃到 🌼 后,使用 **J** 键发射子弹。
- **编辑地图**:开始游戏时,在面板上点击并拖动以放置相应模型。使用橡皮擦可以删除不需要的模型。
- **开始游戏**:完成地图编辑后,点击开始游戏,游戏会从第一关开始。如果未编辑,使用默认关卡开始游戏。

六、启动说明

1. 确保安装好JDK开发环境。
2. 下载项目源码并导入到你的IDE(如IntelliJ IDEA或Eclipse)。
3. 运行[Main.java](src/com/luck/main/Main.java)类的 **main** 方法即可启动游戏。

七、运行环境

- 本项目不需要额外的环境依赖,确保安装好Java开发环境即可运行。
- 希望本项目能够带你重温经典,同时体验自己设计地图的乐趣!

> 特别说明:本项目采用 **GBK** 编码,在开始运行或修改前请检查 IDE 的项目编码设置!


感谢支持
- 以上就是本次推荐的内容,感谢看到这里的你们,如果觉得我的文章对你有帮助,记得点个关注哦,这对我很重要,你的鼓励是我最大的动力。 获取源码编号:对话框输入 game001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦睡了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值