{ "info": { "author": "Ville Brofeldt", "author_email": "ville.brofeldt@iki.fi", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "[![Build Status](https://travis-ci.com/villebro/pyhtzee.svg?branch=master)](https://travis-ci.com/villebro/pyhtzee)\n[![codecov](https://codecov.io/gh/villebro/pyhtzee/branch/master/graph/badge.svg)](https://codecov.io/gh/villebro/pyhtzee)\n[![Requirements Status](https://requires.io/github/villebro/pyhtzee/requirements.svg?branch=master)](https://requires.io/github/villebro/pyhtzee/requirements/?branch=master)\n[![PyPI version](https://img.shields.io/pypi/v/pyhtzee.svg)](https://badge.fury.io/py/pyhtzee)\n[![PyPI](https://img.shields.io/pypi/pyversions/pyhtzee.svg)](https://www.python.org/downloads/)\n# pyhtzee #\n\nYahtzee game engine supporting regular Yahtzee rules (maximum 1480), Joker rules\n(maximum 1575) and Yatzy aka. Scandinavian Yahtzee rules (maximum 305). Example code:\n\n```python\nfrom pyhtzee import Pyhtzee\nfrom pyhtzee.classes import Category, Rule\nfrom pyhtzee.utils import category_to_action_map, dice_roll_to_action_map\n\npyhtzee = Pyhtzee(rule=Rule.FREE_CHOICE_JOKER)\nprint(pyhtzee.dice)\n```\n\nThis shows the dice:\n\n```\n[2, 5, 6, 1, 6]\n```\n\nNext reroll dice 1, 2 and 5:\n\n```python\naction = dice_roll_to_action_map[(True, True, False, False, True)]\npyhtzee.take_action(action)\nprint(pyhtzee.dice)\n```\n\nNow we have two pairs:\n\n```\n[4, 6, 6, 1, 1]\n```\n\nLet's reroll just the first die to see if we can get a full house:\n\n```python\naction = dice_roll_to_action_map[(True, False, False, False, False)]\npyhtzee.take_action(action)\nprint(pyhtzee.dice)\n```\n\nBingo!\n\n```\n[6, 6, 6, 1, 1]\n```\n\nNow let's choose the action for full house and check the scorecard:\n\n```python\naction = category_to_action_map[Category.FULL_HOUSE]\nreward = pyhtzee.take_action(action)\nprint(f'Reward: {reward}, Scorecard: {pyhtzee.scores}')\n```\n\nThis shows that we got a reward of 25, which can be confirmed in the scorecard:\n\n```\nReward: 25, Scorecard: {: 25}\n```\n\n## Developers guide ##\n\nPipenv is recommended for setting up a development environment. Prior to installing\n`pipenv`, creating a `.env` file with the following contents is recommended:\n\n```\nPYTHONPATH=.\n```\n\nTo install pipenv and the required dependencies run the following commands:\n\n```bash\npip install pipenv\npipenv install -r requirements.txt\npipenv shell\n```\n\n### Updating dependencies ###\n\n`requirements.txt` is dynamically generated using `pip-compile`. To regenerate the\n`requirements.txt`file run the following command:\n\n```bash\npip-compile -U --output-file requirements.txt setup.py requirements-dev.in\n```\n\n### Pre-commit hooks ###\n\nThis project uses Git pre-commit hooks courtesy of [pre-commit](https://pre-commit.com/). To install run the following:\n\n```bash\npre-commit install\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/villebro/pyhtzee", "keywords": "", "license": "MIT", "maintainer": "Ville Brofeldt", "maintainer_email": "ville.brofeldt@iki.fi", "name": "pyhtzee", "package_url": "https://pypi.org/project/pyhtzee/", "platform": "", "project_url": "https://pypi.org/project/pyhtzee/", "project_urls": { "Homepage": "https://github.com/villebro/pyhtzee" }, "release_url": "https://pypi.org/project/pyhtzee/1.2.6/", "requires_dist": null, "requires_python": "", "summary": "Yahtzee game engine", "version": "1.2.6" }, "last_serial": 5563129, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "5eaa69d99e4370c23318b516cc71c852", "sha256": "ccf2d5f980ab9be46a529602b3de576ab5c7bedeff2425238a8ced538737628d" }, "downloads": -1, "filename": "pyhtzee-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5eaa69d99e4370c23318b516cc71c852", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6249, "upload_time": "2018-10-27T14:02:57", "url": "https://files.pythonhosted.org/packages/d4/9b/5fe979b9387184b84b1b48463cefe6dbd62106ff4d383c42b1d1b5114c65/pyhtzee-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40214624783501e82d6d258c1bff6227", "sha256": "0d0baf92899f8d6072c323563705499da75c1e4e372f84554d3b5d096aeaa1df" }, "downloads": -1, "filename": "pyhtzee-0.9.0.tar.gz", "has_sig": false, "md5_digest": "40214624783501e82d6d258c1bff6227", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4699, "upload_time": "2018-10-27T14:02:58", "url": "https://files.pythonhosted.org/packages/17/34/baa45168e4c83e516d718ef4acbcdfa9a999d4e83470e9c57892bd1ec925/pyhtzee-0.9.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b0b47829e63a55fee922788e5923da30", "sha256": "087cc616778cdc2f2dd5d711165fd3cbd7bffe1e9e0c2842a97ed2a3bdcddf2b" }, "downloads": -1, "filename": "pyhtzee-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b0b47829e63a55fee922788e5923da30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7662, "upload_time": "2018-10-29T15:42:45", "url": "https://files.pythonhosted.org/packages/7d/29/e4b4d464ad85fd868144bd03fef04069bbd5ae3e9609bb5adb26b1ec15ea/pyhtzee-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c02deb697b848f144d475c497929a4d", "sha256": "dfd78fc4047903006393fc7a76a509fd0a99b5ce9345458a89d8b8e09510c08e" }, "downloads": -1, "filename": "pyhtzee-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4c02deb697b848f144d475c497929a4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4882, "upload_time": "2018-10-29T15:42:47", "url": "https://files.pythonhosted.org/packages/20/bb/b125f598e4c09673adaadebab388aa1fbd1dca78428dd39d00b631b8aa2b/pyhtzee-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "fa8ffa45ce2b999923ba74d6f909e398", "sha256": "a3e4bf2db6bfc7af8934d86c16282427bab6123e98da8d0fa5209949a3c71f77" }, "downloads": -1, "filename": "pyhtzee-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fa8ffa45ce2b999923ba74d6f909e398", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10039, "upload_time": "2018-10-29T20:59:26", "url": "https://files.pythonhosted.org/packages/5d/41/af383936020b1d629c5bd87ea45c03e8db7cb69f20e1db4d5dde5475af60/pyhtzee-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b35c7c25db163b4bd3a8d34f65df1f8", "sha256": "d5bcf1845d7cecd9dbdd0aac5b2de1fbf9d45808f4f965b8702a5ffad78c9bd3" }, "downloads": -1, "filename": "pyhtzee-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2b35c7c25db163b4bd3a8d34f65df1f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5474, "upload_time": "2018-10-29T20:59:27", "url": "https://files.pythonhosted.org/packages/f3/45/04713dbbd99410c8c5a4af65f7b1696f0f0e406bf69f87408434d33bf09c/pyhtzee-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "9c4cca4d8c304ec1473d0de5f3d7fc0a", "sha256": "8c39856d1bf291049b9dcd2b2c2b4712cd0cca1f624b259adc1794c2c13db411" }, "downloads": -1, "filename": "pyhtzee-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9c4cca4d8c304ec1473d0de5f3d7fc0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10312, "upload_time": "2019-01-11T08:58:23", "url": "https://files.pythonhosted.org/packages/24/0f/80a1f942cab7178e644b29020afb4bbc201075488dc35c6614fea36b1692/pyhtzee-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "755f82a8c16e6438f681fc3e2cb5deb1", "sha256": "e3b85d14ee79192dc1d21d5b04d9ccc7b39d27176f5e14a93dba682784150b84" }, "downloads": -1, "filename": "pyhtzee-1.2.0.tar.gz", "has_sig": false, "md5_digest": "755f82a8c16e6438f681fc3e2cb5deb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6003, "upload_time": "2019-01-11T08:58:25", "url": "https://files.pythonhosted.org/packages/f4/75/1e982a64366287830cfd9c860236267d287d652b143a48daaa8dedeab155/pyhtzee-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "bfa0ed323d896e1ce3ecdd1a60556a57", "sha256": "4e29572fc14149dc3c3bc99b86864c47d8faf466045d77140c495d7c3857c191" }, "downloads": -1, "filename": "pyhtzee-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bfa0ed323d896e1ce3ecdd1a60556a57", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10638, "upload_time": "2019-01-11T21:04:47", "url": "https://files.pythonhosted.org/packages/54/5b/c081ccdba98dd35372bc962b8b46c9590473729941cf9c5b1c94030c7072/pyhtzee-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57baa49a66893ebcd856ffec890ef853", "sha256": "71b5c9fe3e55dbb9ebad5c6a81a3549a508145dea5365a57d706e71f9faa9efb" }, "downloads": -1, "filename": "pyhtzee-1.2.1.tar.gz", "has_sig": false, "md5_digest": "57baa49a66893ebcd856ffec890ef853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6005, "upload_time": "2019-01-11T21:04:49", "url": "https://files.pythonhosted.org/packages/73/f2/b1ccb27ab6222a06db5053718d782cc6f06e9da122d2da1bde2b07d374f4/pyhtzee-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "0407a073715ea345b71af400e59f3bf7", "sha256": "5f14f091b030b18e7f23b7d7bbe1bd9a9a1b1979b23b4488746a32e45da78742" }, "downloads": -1, "filename": "pyhtzee-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0407a073715ea345b71af400e59f3bf7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10656, "upload_time": "2019-01-29T16:59:18", "url": "https://files.pythonhosted.org/packages/ec/d5/3ae073e93f01efdd9b661d5be544b082c3a5e8bfaefa1d7ec773f03387d6/pyhtzee-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "538093e26639304490716c9823627bf8", "sha256": "758a7dd6fa59d5b6c56287a24d7c3b9c0f65316e0479653f2d2d3371067eaf78" }, "downloads": -1, "filename": "pyhtzee-1.2.2.tar.gz", "has_sig": false, "md5_digest": "538093e26639304490716c9823627bf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6035, "upload_time": "2019-01-29T16:59:19", "url": "https://files.pythonhosted.org/packages/42/f3/08ed5fffe0857224fdc673aca94f11c2b7bee4b276fae3d61802fe7337c7/pyhtzee-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "14d4d803a31b26e64cb3b26c324019ec", "sha256": "0aef591573584caee0b1a85f4bddacb6a23ef363729da44483f74b5bdbc3b789" }, "downloads": -1, "filename": "pyhtzee-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "14d4d803a31b26e64cb3b26c324019ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10659, "upload_time": "2019-02-03T13:16:19", "url": "https://files.pythonhosted.org/packages/06/2b/46669017255cf6f3ee34489c498efe96184d00292ab8afef8ba90f1a7832/pyhtzee-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c97878ad5396274659d46a44a97371f6", "sha256": "18ff4f0e7b251262f52bcccb12d781b0c14d965c77daed284fd8ec402f9fb4e8" }, "downloads": -1, "filename": "pyhtzee-1.2.3.tar.gz", "has_sig": false, "md5_digest": "c97878ad5396274659d46a44a97371f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6010, "upload_time": "2019-02-03T13:16:21", "url": "https://files.pythonhosted.org/packages/17/15/2ef99d6b8904749ed135c7e7b301e8c83c11e3df19cb54511377fe470a8a/pyhtzee-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "34e597638fd15baee867b38f54ccfd5c", "sha256": "2cd0631897733a37b7760f37e8864efd623567766793c8570c7079081cb94afa" }, "downloads": -1, "filename": "pyhtzee-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "34e597638fd15baee867b38f54ccfd5c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10765, "upload_time": "2019-02-03T14:17:47", "url": "https://files.pythonhosted.org/packages/bb/49/767241e66cad69433de59710b5836b637905555ccd7e172a75ee36c58753/pyhtzee-1.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e43ba09fcc878aad34635f5827b5914d", "sha256": "64a7d1eb2bbb02b8aea28ec20412ca8fd89080d69bd7d67b1e33ef6e69e78cf9" }, "downloads": -1, "filename": "pyhtzee-1.2.4.tar.gz", "has_sig": false, "md5_digest": "e43ba09fcc878aad34635f5827b5914d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6073, "upload_time": "2019-02-03T14:17:48", "url": "https://files.pythonhosted.org/packages/3f/21/ba5a29269aac63223b85e5e0f1fde307a90896efa9a0c92b27c4b2bf6e30/pyhtzee-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "c9c6a4b86ea248cea64debbfcc67e6d9", "sha256": "0e569d2d61f8f155a91e425d0ae7a99527a6a32b8a7adc1cd5914d45e2a28b09" }, "downloads": -1, "filename": "pyhtzee-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c9c6a4b86ea248cea64debbfcc67e6d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10780, "upload_time": "2019-02-08T06:36:59", "url": "https://files.pythonhosted.org/packages/b9/54/f1ed249f59b014a7c6b097ae4e1190fb5529858be7201eb98e4420473def/pyhtzee-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3d4e2b933997b228bd8fb621c106df8", "sha256": "e1e6b0461bea2d47a96253db792f25179fde99596fce31b03b0e509bcbb273e5" }, "downloads": -1, "filename": "pyhtzee-1.2.5.tar.gz", "has_sig": false, "md5_digest": "b3d4e2b933997b228bd8fb621c106df8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6089, "upload_time": "2019-02-08T06:37:00", "url": "https://files.pythonhosted.org/packages/ae/0e/2a54357e7e4c150f7ef2b8c4edb3a375c4e456bf38d1edc973d7a9e1c415/pyhtzee-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "c39f195212f425193a67640edc56bc0f", "sha256": "0111a28bbabf3e9f6a0581901e10a96790a14c639a88c2b76450b314fa744e85" }, "downloads": -1, "filename": "pyhtzee-1.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c39f195212f425193a67640edc56bc0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10997, "upload_time": "2019-07-21T11:19:26", "url": "https://files.pythonhosted.org/packages/50/10/2e1376b1081af1397bcb9c9d961a09e942c9da5b68857121e1d54007f7b3/pyhtzee-1.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43d718d1aed350145be843079e3fa04b", "sha256": "24607791d0cb69b4169fc086833b85fefcab762783dc682fad3c1b2acf9ee5ec" }, "downloads": -1, "filename": "pyhtzee-1.2.6.tar.gz", "has_sig": false, "md5_digest": "43d718d1aed350145be843079e3fa04b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6292, "upload_time": "2019-07-21T11:19:28", "url": "https://files.pythonhosted.org/packages/08/83/b445ecbb22d2a0beb67347d41501befe84fc91ce652ece39f467a4673957/pyhtzee-1.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c39f195212f425193a67640edc56bc0f", "sha256": "0111a28bbabf3e9f6a0581901e10a96790a14c639a88c2b76450b314fa744e85" }, "downloads": -1, "filename": "pyhtzee-1.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c39f195212f425193a67640edc56bc0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10997, "upload_time": "2019-07-21T11:19:26", "url": "https://files.pythonhosted.org/packages/50/10/2e1376b1081af1397bcb9c9d961a09e942c9da5b68857121e1d54007f7b3/pyhtzee-1.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43d718d1aed350145be843079e3fa04b", "sha256": "24607791d0cb69b4169fc086833b85fefcab762783dc682fad3c1b2acf9ee5ec" }, "downloads": -1, "filename": "pyhtzee-1.2.6.tar.gz", "has_sig": false, "md5_digest": "43d718d1aed350145be843079e3fa04b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6292, "upload_time": "2019-07-21T11:19:28", "url": "https://files.pythonhosted.org/packages/08/83/b445ecbb22d2a0beb67347d41501befe84fc91ce652ece39f467a4673957/pyhtzee-1.2.6.tar.gz" } ] }