#othello #strategies #play #framework #command-line #light #own

bin+lib desdemona

命令行Othello和模拟框架

5个不稳定版本

0.3.0 2021年9月4日
0.2.1 2021年8月10日
0.2.0 2021年8月7日
0.1.1 2021年8月4日
0.1.0 2021年8月4日

#151模拟

GPL-3.0 许可证

70KB
2K SLoC

德西莫娜

你想玩游戏吗?在你的终端?试试Othello怎么样?你知道的,那是一种有光明和黑暗盘片的游戏,而不是围棋。

  a b c d e f g h
1 · · · · · · · ·
2 · · · · · · · ·
3 · · · · · · · ·
4 · · · ● ○ · · ·
5 · · · ○ ● · · ·
6 · · · · · · · ·
7 · · · · · · · ·
8 · · · · · · · ·

德西莫娜提供了一款可以玩的游戏,以及一个模拟框架,用于开发你自己的策略,相互对战。

安装

德西莫娜需要可工作的Rust开发环境来构建和运行。更多信息,请访问 rust-lang.org

一旦解决这些问题

cargo install desdemona

运行

desdemona 将启动一个游戏。如需帮助,请添加 --help 标志。

当前的ASCII图形对于深色主题终端是准确的,其中 "○" 表示有光轮廓的暗色圆盘,而 "●" 表示实心亮色圆盘。如果你使用的是浅色主题,只需假装它们相反。

二进制文件

  • desdemona (默认) 启动一个Othello游戏。
  • desvs 让两种策略相互对战。
  • desgame 打印出完整的随机生成游戏。
  • desstress 运行压力测试和基准测试(注意:请使用cargo的 --release 标志)
  • desdata 如有必要,重新生成静态数据文件的data(src/data.rs)。

可用策略

德西莫娜有一个简单的框架,用于构建自己的游戏策略,并在 src/strategies 目录中包含五个不同的(非常基本的)策略

  • Constrain 尝试限制对手的移动。
  • Corners 偏好真正的角落,并避免在角落的邻居处下棋。
  • Maximize 执行翻转最多磁盘的移动。
  • Minimize 正好相反,执行翻转最少的移动。
  • Simple 执行它发现的第一个移动。
  • Random 执行一个随机的有效移动。
  • Monte 对哪个移动最有可能获胜进行(非常有限的)蒙特卡洛模拟。

要对抗特定策略,请使用 -s 标志。例如,要对抗蒙特策略

desdemona-s monte

策略说明

您可以使用 desvs ("desdemona verses") 程序来比较不同策略的强度。

这些策略在对抗有技能的人类玩家时都不是特别有效;它们没有涉及角落价值、静态棋子等策略的概念。如果您想贡献一些更有趣的东西,请务必这么做!

基准测试

目前全随机游戏耗时约85微秒,并且可以并行化到约25微秒(见上面的 bin/desstress)。这对休闲游戏来说并不重要,但对于分析来说很方便!

版权所有 2021,Peat Bakke [email protected]

"Othello" 是 MegaHouse Corporation 的注册商标和版权。

本程序是免费软件:您可以按照自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,许可证版本为 3 或更高版本(根据您的选择)。

本程序的分发是希望它对您有用,但没有任何保证;甚至没有关于其可销售性或适用于特定目的的暗示保证。有关详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到了与该程序一起的 GNU 通用公共许可证副本。如果没有,请参阅 https://www.gnu.org/licenses/

依赖项

约 2.5MB
约 37K SLoC