1 个不稳定版本
0.1.3 | 2020 年 5 月 26 日 |
---|
#843 在 游戏
在 tic-tac-rust-cli 中使用
10KB
210 行
Tic Tac Rust
一个用 Rust 编写并打包为 npm 作为 WebAssembly 的井字棋游戏管理器 wasm-pack 包
什么是井字棋
见 维基百科
井字棋(美国英语)、十字叉(英国英语)或 X 和 O 是一种两人纸笔游戏,X 和 O 交替在 3×3 网格中标记空格。首先在水平、垂直或对角线上放置三个标记的玩家获胜。
安装
$npm install tic-tac-rust
- 在你的 js/ts 中
const { State } = await import('tic-tac-rust');
用法
创建一个新的游戏状态
const gameState = State.new(difficulty);
// difficulty is 0 (Easy), 1 (Normal) or 2 (Computer will be unbeatable)
更新棋盘
gameState.update_board(index, character)
// index is 0 - 8 starting top left, character is 'x', 'o' or '0'
检查胜利/失败/平局
您可以使用 is_win 函数检查胜利或失败
const xWon = gameState.is_win('x'); // xWon would be true if x won
const oWon = gameState.is_win('o'); // oWon would be true if o won
或检查平局
const isTie = gameState.is_tie() // isTie is true if it is a tie
请求计算机的下一步操作
这基于创建状态时使用的难度
const index = gameState.next_move(x_or_o)
// x_or_o is 'x' if computer is 'x' and 'o' if computer is 'o'
构建使用
- Rust ❤️
- wasm-bindgen
- Rand
贡献
这是一个我在学习 WebAssembly 时做的快速侧项目(这很快就会出现在我的个人网站上!)。如果有人最终使用它并想做出贡献,请随时创建 PR 😁
依赖项
~1.8–2.8MB
~41K SLoC