Repository navigation
Releases: kdada/mario-csharp
Release list
v0.1.3 · 碰撞、管道、动画与音频修复
v0.1.3 修复用户手测反馈的碰撞、管道、水中敌人、虚拟按键、精灵层级与动画、标题和死亡音乐问题。
- 相对脚底接触可踩敌人时正确判为踩踏;水中可以踩死章鱼和鱼。普通存活怪物接触玩家后立即转向,保留踩踏、龟壳及既有投射物规则。
- 修复出管道相机回跳;陆地侧管要求落地,水下保留泳姿和完整游入过程;水背景不再盖住岩石与进管道角色。
- 水关鱼群分散到合法水域上、中、下层,生成持续覆盖后段,控制附近密度并清理离屏生成鱼。食人花初始隐藏且相关时钟在暂停/变身/管道过渡中冻结;熔岩火泡完整地从液面跃起、回落。
- 跑速足够时可跨过同高的一格窄坑;旗杆清关先落在实际基座顶面,再经地形碰撞向右走下。
- 练习暂停菜单增加 BIG MARIO / FIRE MARIO;BIG JUMP 不增加横向速度;按住的虚拟按键边框不再被相邻按钮遮挡。
- 公主采用单帧 NPC;飞龟翅膀改挂壳背并播放拍动;Lakitu 存活时由云遮住身体,死亡时从云中掉出;弹簧逐帧压缩、回弹;方块金币下落时显示在砖块前方。
- 标题使用素材库已有的 SMB1 标题曲,死亡前奏之后补播完整原始后段,预留完整播放时间。原始 CHR、MP3 和 WAV 资源保持。
4-4 的迷宫回卷属于保留规则:第一段上层、第二段下层。库巴初始仍为 5 血,每发火球扣 1;缓存保留已受伤害,斧头倒桥独立于血量。
验证:
- 普通 .NET 源码构建 0 警告、0 错误;无窗口机制、输入与音频时序 6366/6366 通过。
- 其中输入 235 项、管道 2435 项、旗杆 1675 项、标题和死亡音频 90 项,均包含在总数内。
- 本轮没有进行可视化、截图、GPU 测试或音频试听。画面和手感由用户手动确认;旧版图形结果不作为本版本验收。
- NativeAOT 导出成功。PCK 共 1543 项,1488 个 Assets 与 3 个 Data 文件均逐字节匹配;CHR 为正确的 8192 字节。
- NativeAOT 留有 66 条验证/调试 JSON 和 GodotSharp 裁剪/AOT 分析警告,无编译错误;未在 HAP 中运行验证/调试报告入口,细节见仓库 VERIFICATION.md。
- 未执行 HAP 安装、运行或全包审计。
下载 mario-csharp-0.1.3-arm64-unsigned.hap,适用于 OpenHarmony ARM64 / API 26,包名 org.kdada.mariocsharp,版本码 1003。NativeAOT 包不需要设备另外安装 .NET SDK;HAP 未签名,安装前需自行签名。下载后可使用同页 SHA256SUMS 校验。
- 文件大小:206816474 字节(约 206.8 MB)
- SHA-256:
8f65a97a673e5943c8bdfb7de3eebdbfd259a3212bffee54b6d86153590fb10c
v0.1.2 · 修复素材导出与左右侧虚拟按键
普通 Editor 导出此前会遗漏整个 Assets 目录,缺失必需的 CHR、图像和音频,首次启动可能报 CHR tile out of range。v0.1.2 将原始素材导出插件纳入版本控制并默认启用,Editor 与脚本共用同一份插件,导出脚本还会核对 PCK 中的完整素材。
手机横屏时游戏画面居中,方向键位于左侧,RUN、JUMP 和暂停键位于右侧,避免覆盖游戏画面。保留多指跑跳、滑动换键、菜单 OK/BACK 和按下反馈;尺寸变化、失焦和切后台时释放触点。电脑可按 T 预览。
验证结果:
- 原生 Editor / Vulkan:872/872 项通过,其中触控专项 100/100 项通过。
- 无窗口检查:805/805 项通过。
- 普通 Editor 导出资源全部匹配;禁用插件时的缺素材导出被校验器拒绝。
- 发布 HAP 的 PCK 含 1527 个条目,1488 个 Assets 与 3 个 Data 文件均与源码逐字节一致;CHR 为正确的 8192 字节。
下载 mario-csharp-0.1.2-arm64-unsigned.hap,适用于 OpenHarmony ARM64 / API 26。包使用 NativeAOT,不需要设备另外安装 .NET SDK;HAP 未签名,安装前需自行签名。
- 文件大小:206109690 字节(约 206 MB)
- SHA-256:
0e9ea66e3d9afa07bbcb16337013740662227d5175712a267640a6c8a4b53cbf
完整源码、素材说明及导出步骤见仓库 README。图形验证来自原生 Editor;本次未新增手机安装运行测试。
v0.1.1 · 手机虚拟按钮
手机端现在会自动显示虚拟按钮。通过鸿蒙公共 NDK OH_GetDeviceType() 读取真实设备类型,只有 phone 启用;触屏电脑 2in1、平板及未知设备保持默认隐藏。
- 左侧四向方向键,右侧 RUN(冲刺/火球)、JUMP(跳跃/游泳),游戏中可暂停/恢复。
- 支持多指同时按住;右拇指从 RUN 滑向 JUMP 会保持冲刺,配合左拇指即可跑跳。
- 提供按下反馈,保留快速轻点;拖出、抬手、取消、切后台、失焦和视口改变时正确释放,避免卡键。
- 手机菜单改为方向键+OK/BACK,标题和32关选关列表为控件留出空间。
- 电脑保留键盘/手柄,T 可手动预览手机控件。
Editor 验证:headless 750/750,原生 OpenHarmony/Vulkan 817/817,手机控件专项45/45。当前电脑实际返回 2in1,默认隐藏;手机 UI 在电脑原生窗口中启用并用 Godot 触摸事件验证,尚未在实体手机操作验收。
按要求,本次未对 HAP 做包审计、安装或运行测试。发布物为 ARM64 Release / NativeAOT 未签名 HAP,包名 org.kdada.mariocsharp,兼容 API26,安装前需自行签名。
v0.1.0 · OpenHarmony ARM64(未签名)
Godot C# 独立实现的 Super Mario Bros. 研究版本,包含 1-1 至 8-4 共 32 个主关、57 个房间。
- OpenHarmony ARM64,Release / NativeAOT,包名
org.kdada.mariocsharp。 - 安装包为 未签名 HAP,安装前需要自行完成 HAP 签名。
- 构建使用 Godot 4.7.2-ohos.7、Godot.NET.Sdk 4.7.2-ohos.3、.NET SDK 10.0.401-ohos.2 和官方 Command Line Tools 26.0.0.201;兼容 API 26。
- 操作:A/D 或方向键移动,J 跳跃,K 冲刺/火球,S/↓ 蹲下及进管道,Enter 暂停/确认,Esc 返回。
- 本版包含最新金币弹跳高度、进出管道食人花隐藏、旗杆底座遮挡修复;保留变身停顿和每秒 1.5 TIME 的计时。
Editor 环境此前的 headless 回归为 709/709,原生 Vulkan 回归为 772/772。按要求,本次不对 HAP 进行安装、包审计或运行测试。
游戏逻辑由独立 C# 代码实现;第三方图像、关卡布局、音频及商标的来源和权利归属见仓库 SOURCES.md。尚未完成从 New Game 到 8-4 结局的连续输入通关,也未宣称与 NES 逐帧等价。