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 在 模拟
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