跳转到主要内容

Yahtzee游戏引擎

项目描述

Build Status codecov Requirements Status PyPI version PyPI

pyhtzee

支持常规Yahtzee规则(最高1480)、Joker规则(最高1575)和Yatzy(又称北欧Yahtzee规则,最高305)的游戏引擎。示例代码

from pyhtzee import Pyhtzee
from pyhtzee.classes import Category, Rule
from pyhtzee.utils import category_to_action_map, dice_roll_to_action_map

pyhtzee = Pyhtzee(rule=Rule.FREE_CHOICE_JOKER)
print(pyhtzee.dice)

这显示了骰子

[2, 5, 6, 1, 6]

接下来重掷骰子1、2和5

action = dice_roll_to_action_map[(True, True, False, False, True)]
pyhtzee.take_action(action)
print(pyhtzee.dice)

现在我们有两组

[4, 6, 6, 1, 1]

让我们只重掷第一颗骰子,看看我们是否能得到一个满贯

action = dice_roll_to_action_map[(True, False, False, False, False)]
pyhtzee.take_action(action)
print(pyhtzee.dice)

bingo!

[6, 6, 6, 1, 1]

现在让我们选择满贯的动作并查看计分卡

action = category_to_action_map[Category.FULL_HOUSE]
reward = pyhtzee.take_action(action)
print(f'Reward: {reward}, Scorecard: {pyhtzee.scores}')

这显示我们获得了25分的奖励,这可以在计分卡中确认

Reward: 25, Scorecard: {<Category.FULL_HOUSE: 8>: 25}

开发者指南

Pipenv推荐用于设置开发环境。在安装pipenv之前,建议创建一个包含以下内容的.env文件

PYTHONPATH=.

要安装pipenv和所需的依赖项,请运行以下命令

pip install pipenv
pipenv install -r requirements.txt
pipenv shell

更新依赖项

requirements.txt是使用pip-compile动态生成的。要重新生成requirements.txt文件,请运行以下命令

pip-compile -U --output-file requirements.txt setup.py requirements-dev.in

Pre-commit钩子

本项目使用Git pre-commit钩子,由pre-commit提供。要安装,请运行以下命令

pre-commit install

项目详情


下载文件

下载适用于您平台的项目文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源代码分发

pyhtzee-1.2.7.tar.gz (6.3 kB 查看哈希值)

上传时间 源代码

构建分发

pyhtzee-1.2.7-py3-none-any.whl (11.0 kB 查看哈希值)

上传时间 Python 3

支持