跳转到主要内容

支持多游戏和多持久性的鲁米库布求解控制台。

项目描述

Rummikub Console

支持多游戏和多持久性的鲁米库布求解控制台,用Python编写。

screenshot of a macOS terminal window with a Rummikub Console session in progress

使用的算法基于D. Den Hertog, P. B. Hulshof(2006)在《The Computer Journal, 49(6)》中描述的方法,“通过整数线性规划解决鲁米库布问题”,665-669(DOI 10.1093/comjnl/bxl033)。

功能

  • 可以追踪多个游戏,让您在命名游戏之间切换
  • 自动保存追踪的游戏
  • 可以与不同的鲁米库布规则一起工作,让您调整颜色、瓷砖和其他方面
  • 您可以在当前规则的限制内自由调整栈或桌面上的瓷砖

求解器改进

Den Hertog和Hulshof最初描述的模型假定所有满足最小长度要求且不能分割的可能集都是理想的结果。

然而,任何包含至少一张鬼牌(颜色不同但数字相同的方块)且长度超过最小连线的组(方块)实际上都包含多余的鬼牌,这是你不想留给下一位玩家使用的。同样适用于长度超过最小组长度但以鬼牌开始或结束的连组(颜色相同但数字连续的方块)。在此实现中,此类组被省略在可能选项之外。

实现还包括一个初始移动的求解器,您只能使用自己的牌架上的方块,并且必须放置最小分数点数之后才能使用桌上的方块。这个求解器是原始求解器的变体,它最大化放置的方块数,但受最小点数的限制,并且忽略鬼牌(这意味着如果这是唯一可用的选项,鬼牌仅用于开局的组合)。

安装

您可以通过常规方式安装此项目

$ pip install RummikubConsole

或使用pipx等工具来帮助您管理这些命令行工具的安装

$ pipx install RummikubConsole 

使用方法

运行rsconsole命令行工具以打开控制台,或运行rsconsole --help以了解如何调整Rummikub规则(您可以调整方块数量、颜色、鬼牌数量、构成组的最低方块数和初始放置的最低分数)。

然后进入控制台命令循环。输入?hhelp以列出可用命令,输入help <command>以获取有关每个命令的说明。

开发

此项目的源代码可在GitHub上找到。

本地运行时,安装Pipenv,然后运行

pipenv install
pipenv run rsconsole

以运行控制台求解器。

致谢

求解器和控制台的初始版本由Ollie Hooper编写。

此版本是由Martijn Pieters重写的完整版本,具有新的控制台实现,扩展求解器以提高性能并解决原始论文中的不足,以及多游戏、游戏状态跟踪和持久化支持。

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装软件包的更多信息。

源代码分发

RummikubConsole-1.2.5.tar.gz (242.3 kB 查看散列值)

上传时间 源代码

构建分发

RummikubConsole-1.2.5-py2.py3-none-any.whl (21.3 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页