#tic-tac-toe #game #command-line #educational #io #testing #testing-cargo

bin+lib l19_terminal_tictactoe

在命令行上玩的井字棋游戏;教育练习

3 个版本

0.1.2 2022 年 4 月 8 日
0.1.1 2022 年 4 月 8 日
0.1.0 2022 年 4 月 8 日

#495 in 游戏

MIT/Apache

42KB
349

L19_Terminal_TicTacToe

目的:教育

测试 Cargo.io 提交、版本和文档。

测试将围绕井字棋游戏编写。见 TODO。


说明

环境

Linux, x86_64。

安装 rust

见:Rustup

安装 L19_Terminal_TicTacToe

  git clone https://github.com/L19579/L19_Terminal_TicTacToe.git # Download repo
  cd #insert_repo_directory
  cargo build --release

启动

  ./target/release/l19_terminal_tictactoe

控制

  • 游戏输入绑定在 main.rs 中设置。系统将根据 UTF-8 绑定输入 2 个字符的长度按时间顺序适应。
  use l19_terminal_tictactoe as l19;
  
  //-- snip
  
  let input_bindings: Hashmap::<&str, usize> = HashMap::from([
      ("a1", 0),
      ("a2", 1),
      ("a3", 2),
      ("b1", 3),
      ("b2", 4),
      ("b3", 5),
      ("c1", 6),
      ("c2", 7),
      ("c3", 8),

  ]);

  let mut gm = l19::GameMaster::new(&input_bindings);
  
  //-- snip
  • 输入提示时输入。这个 "机器人" 只是一个伪随机数生成器。要想输掉游戏需要花点力气。

Opener Closer


包 (0.1.2):Crates.io

发布的文档:Docs.rs


TODO - 完成

  • 随机化器决定哪个玩家先开始。
  • X 分配给玩家 1,O 分配给玩家 2。
  • 基于回合制的,更新的棋盘显示在下方。出于简洁性,终端不会被清除。
  • 玩家被展示单元格 ID 并输入以选择位置时被提示。
  • 当玩家/人工智能移动时,X/O 被绘制。
  • 每次移动都会保存状态表。
  • 提交位置后,系统检查是否有获胜者。
  • 完整的代码文档在 Docs.rs 上
  • 顶级描述在 Github 上;列在发行版中。
  • 顶级描述在 Crates.io 上;列在发行版中。

依赖项

~315KB