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

170 阅读4分钟

项目概述

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

项目演示

地图编辑器

地图编辑器

游戏加载界面

游戏加载中

跳跃触发碰撞事件

跳跃与碰撞事件

杀死敌人获得积分

杀死敌人获得积分

项目结构

  • 控制类

  • 模型类

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

  • 接口类

功能介绍

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

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

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

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

操作指南

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

启动说明

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

运行环境

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

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


感谢支持

  • 以上就是本次推荐的内容,感谢看到这里的你们,如果觉得我的文章对你有帮助,记得点个关注哦,这对我很重要,你的鼓励是我最大的动力。

源码获取

关注 玖鼎软件科技 ,回复 game001 获取源码。