Initial commit: Complete MoonTetris with Wasm and Canvas UI
MoonTetris 是一个完全由 MoonBit 语言编写、编译为 WebAssembly 并在 Web 端通过 Canvas 2D 渲染的高性能俄罗斯方块游戏。本项目探索并验证了 MoonBit 在无第三方游戏引擎依赖下直接驱动 Web 交互应用的生态潜力。
确保您已安装了 MoonBit CLI 工具链 以及 Python3(用于本地 HTTP 服务)。
克隆本项目后,使用 moon 命令将核心逻辑编译为 Wasm:
moon build --target wasm
如果您修改了源码,编译产物将会自动生成。您可以将编译出的 Wasm 文件拷贝到 web 目录下(如果尚未拷贝):
web
cp _build/wasm/debug/build/src/src.wasm web/moon_tetris.wasm
进入 web 目录并启动本地静态服务器:
cd web python -m http.server 8080
然后打开浏览器访问:http://localhost:8080/index.html 即可开始游戏!
http://localhost:8080/index.html
项目中包含了覆盖所有边界用例的核心逻辑测试。您可以通过以下命令运行测试套件:
moon test
所有测试均经过了严格校对,总计 8000 余行代码,可放心查阅 src/game_test.mbt 获取技术细节。
src/game_test.mbt
本项目采用 Apache 2.0 许可证开源。
MoonTetris 是一款完全使用 MoonBit 编写、通过 WebAssembly 运行于浏览器端的经典俄罗斯方块游戏。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MoonTetris
MoonTetris 是一个完全由 MoonBit 语言编写、编译为 WebAssembly 并在 Web 端通过 Canvas 2D 渲染的高性能俄罗斯方块游戏。本项目探索并验证了 MoonBit 在无第三方游戏引擎依赖下直接驱动 Web 交互应用的生态潜力。
✨ 特性
🚀 快速开始
环境依赖
确保您已安装了 MoonBit CLI 工具链 以及 Python3(用于本地 HTTP 服务)。
编译
克隆本项目后,使用 moon 命令将核心逻辑编译为 Wasm:
如果您修改了源码,编译产物将会自动生成。您可以将编译出的 Wasm 文件拷贝到
web目录下(如果尚未拷贝):运行
进入
web目录并启动本地静态服务器:然后打开浏览器访问:
http://localhost:8080/index.html即可开始游戏!🕹️ 游戏控制
🛠️ 测试与验证
项目中包含了覆盖所有边界用例的核心逻辑测试。您可以通过以下命令运行测试套件:
所有测试均经过了严格校对,总计 8000 余行代码,可放心查阅
src/game_test.mbt获取技术细节。📜 许可证
本项目采用 Apache 2.0 许可证开源。