基于 Java Swing 实现的经典贪吃蛇游戏,使用纯 Java 技术栈开发,界面简洁美观,操作流畅。
这是一个使用 Java Swing 图形界面库开发的贪吃蛇游戏。游戏包含完整的游戏逻辑,包括蛇的移动、食物生成、碰撞检测、得分统计等功能。项目代码结构清晰,适合 Java 初学者学习和参考。
- 🎮 经典游戏玩法:方向键控制蛇的移动方向
- 🍎 随机食物生成:食物在游戏区域内随机出现
- 📊 实时得分显示:每吃一个食物得100分
- 🔄 边界穿越:蛇可以从游戏区域一边穿越到另一边
- ⏯️ 暂停/继续功能:按空格键暂停或继续游戏
- 🔄 游戏重新开始:游戏结束后按空格键重新开始
- 🎨 美观界面:使用自定义图片资源,界面精美
- 开发语言:Java 8+
- 图形界面:Java Swing
- 开发工具:支持任何 Java IDE (IntelliJ IDEA、Eclipse 等)
- 运行环境:JRE 1.8 或更高版本
- 方向键:控制蛇的移动方向(上下左右)
- 空格键:开始游戏、暂停/继续游戏、重新开始游戏
- 游戏目标:控制蛇吃食物,获得高分,避免撞到自己的身体
- 蛇初始长度为3节,向右移动
- 蛇吃到食物后身体增长一节,得分增加100分
- 蛇撞到自己的身体游戏结束
- 蛇可以穿越游戏边界(从一边出去从另一边进来)
- 游戏结束后可以按空格键重新开始
本项目在 JDK 1.8 下测试通过,建议使用 JDK 1.8 或更高版本。
gluttonous-snake/
├── src/
│ ├── shao/
│ │ ├── GluttonousSnake.java # 主程序入口
│ │ └── SnackPanel.java # 游戏面板核心逻辑
│ └── resources/
│ └── img/ # 游戏资源图片
│ ├── body.jpg # 蛇身体图片
│ ├── up.jpg # 蛇头向上图片
│ ├── down.jpg # 蛇头向下图片
│ ├── left.jpg # 蛇头向左图片
│ ├── right.jpg # 蛇头向右图片
│ ├── food.jpg # 食物图片
│ └── title.jpg # 游戏标题图片
├── img/ # README 展示图片
├── run.sh # 快速运行脚本
└── README.md
假设现在命令行已经位于项目的根目录
- 创建 out 目录,该目录存放编译好的 class 文件
mkdir out - 执行下面的命令将 Java 文件编译并保存到 out 目录下
javac -d out src/**/*.java- 将资源文件拷贝到 out 目录下
cp -R src/resources/ out/resources- 执行如下的命令,运行 class 文件
java -cp out shao.GluttonousSnake根目录下的 run.sh 文件包含了上面的命令,可以直接执行该脚本来运行项目
chmod +x run.sh
./run.sh直接将该项目导入 IDE(如 IntelliJ IDEA、Eclipse)即可运行
这个项目涵盖了以下 Java 编程知识点:
- 面向对象编程:类的设计和继承
- Swing 图形界面:JFrame、JPanel 的使用
- 事件处理:KeyListener 和 ActionListener 接口
- 图形绘制:Graphics 类的使用,图像资源加载
- 定时器:Timer 类实现游戏循环
- 数组操作:蛇身体坐标的存储和更新
- 碰撞检测:游戏逻辑判断
欢迎提交 Issue 和 Pull Request 来改进这个项目!
本项目仅供学习交流使用。


