本项目为面向对象程序设计课程的小组作业,
主要用于学习和实践面向对象(OOP)开发架构设计。
项目中涉及的游戏内容与设定仅用于教学与演示目的。
基于 .NET 9 和 Avalonia UI 开发的现代化纵向卷轴射击游戏。融合了经典的街机射击体验与现代 UI 设计风格。
游戏支持键盘与触屏/鼠标两种操作方式,适应不同设备体验。
-
键盘操作:
-
移动:W / S / A / D 或 方向键 ↑ / ↓ / ← / →
-
极速引擎:按住 Space (空格键) 激活 2 倍速 移动,用于快速穿梭于密集弹幕之间。
-
-
触屏/鼠标:
- 点击屏幕左下角的虚拟方向键控制战机移动,右下角的按钮启动极速引擎。
-
生命值 (HP):战机出击时拥有
5点 初始生命值。 -
被子弹击中或撞击敌机均扣除
1点。 -
生命值归零时任务失败(Game Over)。
-
自动火控:战机搭载全自动火控系统,持续发射高速穿甲弹(速度 > 机体极限速度)。
-
受击反馈:机体受损时,屏幕边缘会出现红色警示光环,并伴随剧烈的 画面抖动 反馈。
战场充满变数,敌军具备多种攻击模式:
-
普通敌机:沿直线飞行,发射标准机炮。
-
精英敌机:约
30%概率出现,装备强化武器,发射 三向散射弹幕。 -
致命轰炸:所有敌机均搭载 AI 投弹系统。随机投掷 定时炸弹,炸弹在短暂延迟后引爆,向四周释放 16 枚环形扩散弹幕,极具威胁。
在开始界面可根据实力选择挑战等级,难度直接影响战局:
-
🟢 简单 (Easy):新手训练。敌机刷新较慢,子弹速度
0.8x,投弹概率10%。 -
🟡 普通 (Normal):标准实战。子弹速度
1.0x,投弹概率20%。 -
🔴 困难 (Hard):王牌挑战。敌机刷新极快,子弹速度
1.5x,投弹概率高达40%。
击毁敌机有概率掉落支援模块,合理利用道具是生存的关键:
-
❤️ 医疗包 (Health Pack)
- 识别:黄色闪烁十字。
- 效果:抢修机体,恢复
1点生命值(无上限)。
-
🛡️ 能量护盾 (Shield)
- 识别:青色闪烁圆环。
- 效果:获得
3秒 绝对无敌状态。 - 特性:无敌期间机身呈半透明并带有光环,免疫所有伤害,且撞击敌机可直接将其摧毁。
-
🔥 火力增强 (Firepower)
- 识别:橙红色武器箱。
- 效果:武器系统超频
7秒,主炮升级为三管散射模式,大幅提升火力覆盖范围。
-
🔥 火力全开 (Full Firepower):当屏幕可视范围内清除所有敌机时,触发“火力全开”战术视觉特效。
-
🏆 战绩记录:游戏本地自动保存战斗记录。
- 支持按 最高分 或 时间 排序查看历史战绩。
-
🎵 背景音乐与音效:沉浸式音效设计,增强游戏体验。(即将上线)
- 核心框架: .NET 9.0
- UI 框架: Avalonia UI (跨平台 XAML 框架)
- 架构: MVVM
- 库与工具:
- ReactiveUI / ReactiveUI.Fody (响应式编程)
- Avalonia.ReactiveUI (Avalonia 与 ReactiveUI 集成)
- Semi.Avalonia (现代化 UI 主题)
- Irihi.Ursa.Avalonia (增强 UI 组件库)
- 自行构建运行:
-
确保已安装 .NET 9.0 SDK 和 Android 工作负载。
-
克隆仓库并进入项目目录:
git clone https://github.com/vocoder712/AirplaneWar.git cd AirplaneWar.Android -
连接到Android设备或模拟器,编译项目:
dotnet run -c Release
-
接下来即可在设备上体验游戏。
-
- 下载预编译版本:
- 前往 Releases 页面 下载适用于 Windows 或 Android 的预编译安装包。
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。


