一个基于 SFML 的物理弹球游戏,玩家通过发射小鸟来将目标区域中的敌方小鸟击出。一定程度上复刻了《原神》 哐哐当当雀雀球的大活动的小游戏。
- 物理引擎:真实的碰撞检测和反弹效果
- 特殊技能:特殊球体具有范围推动效果
- 存档系统:支持游戏进度的保存与加载
- 回放功能:可以查看最终局面的回放
- 计分系统:记录当前分数和历史最高分
- 鼠标左键:按住蓄力,松开发射
- 数字键 1-4:选择要发射的小鸟
- R 键:加载存档
- S 键:保存游戏
- V 键:在结束画面和回放模式之间切换
- 每局游戏有 4 个可发射的小鸟
- 第 3、4 号小鸟具有特殊推动效果
- 目标是将中心区域的敌方小鸟击出
- 得分取决于成功击出区域的敌方小鸟数量
- 物理系统:碰撞检测、反弹和摩擦
- 渲染系统:SFML 图形渲染
- 音频系统:背景音乐和碰撞音效
- 存档系统:二进制文件存储
Game:主游戏类,管理游戏流程GameObject:游戏对象基类CollisionHandler:碰撞处理器ScoreManager:分数管理器TextureManager:纹理资源管理器
- SFML 2.x
- C++11 或更高版本
- 支持的操作系统:Windows/Linux/MacOS
需要以下资源文件:
Images/: 游戏贴图chinese.ttf: 中文字体background_music.flac: 背景音乐collision.flac: 碰撞音效
- 确保已安装 SFML 库
- 将所有资源文件放置在正确位置
- 使用支持 C++11 的编译器编译
- 链接 SFML 库(-lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio)
Game.h: 主要游戏逻辑和类定义- 使用面向对象设计,便于扩展
- 采用 SFML 框架处理图形、音频和输入
- 添加新的特殊球体效果
- 实现更多的游戏模式
- 添加粒子效果系统
- 优化物理引擎性能
一名卑微的大一新生的作业