#游戏 #战舰 #Rust

battlerust

用 Rust 实现的战舰游戏

1 个不稳定版本

0.3.0 2022年12月9日

#788 in WebAssembly

Apache-2.0

25KB
630

战斗锈 🦀 + 🛥️

用 Rust 实现的战舰游戏 🦀。

挑战

创建一个应用程序,允许一个人类玩家与计算机放置的船只进行单方面游戏。

程序应该创建一个 10x10 的网格,并在网格上随机放置以下尺寸的船只:

  • 1x 战舰(5 个方块)
  • 2x 驱逐舰(4 个方块)

玩家输入坐标形式为“A5”,其中“A”是列,“5”是行,以指定目标方块。射击结果为命中、未命中或击沉。游戏在所有船只被击沉时结束。

部署

提供商 稳定 URL
Cloudfare battlerust.joao.me
Cloudfare battlerust.pages.dev
Cloudfare master.battlerust.pages.dev

构建和运行

本地

cd frontends/console
cargo build
cargo run

Web 的 WASM

cargo install wasm-pack
wasm-pack build --release --target=web --out-dir=frontends/web/lib -- --features wasm
cd frontends/web
npm install && npm run build
cd dist && python3 -m http.server

WASI 的 WASM

cd frontends/console
rustup target add wasm32-wasi
cargo build --release  --target wasm32-wasi
cd ../../target/wasm32-wasi/release
wasmtime battlerust-console.wasm

控制台 WASM

您可以使用 WebAssembly.sh 来玩转符合 WASIWASM 编译,就像您在正常的操作系统 shell 中一样与之交互。

作为替代方案,您可以使用 Wasmtime WASM 运行时在您的本地计算机上运行 WASM 二进制文件。

构建自动化

Build Status crates Status License

依赖项

~295–770KB
~13K SLoC