{ "info": { "author": "Billy Yang", "author_email": "radiohead0401@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Gym Hearts\n\nThis is an experimental library for hearts poker game and reinforment learning.\nI implement the library and run it at ubuntu and mac by python3.\nIf you encounter any problem, feel free to create new issue on this project :smile:\n\n\n# Implemented Rules\n\n1. All heart cards ( 2\u2665, 3\u2665, \u2026., Q\u2665, K\u2665, A\u2665 ) cost 1 score\n2. Q\u2660 costs 13 score\n3. This trick\u2019s looser will be next trick\u2019s first player\n4. Shooting the moon\n\n# Installation\n\n```sh\npip3 install gym-hearts\n```\n\n# Hello World\n\n```python\nimport gym\nfrom gymhearts import env as hearts_env\nfrom gymhearts import strategy\n\n\nclass HelloStrategy(strategy.IStrategy):\n\n def move(self, observation):\n action = observation['valid_hand_cards'][0]\n return action\n\n\nenv = hearts_env.HeartsEnv()\nenv.enable_shooting_the_moon()\nenv.add_player(HelloStrategy())\nenv.add_player(HelloStrategy())\nenv.add_player(HelloStrategy())\nenv.add_player(HelloStrategy())\nenv.start()\nenv.render()\nobservation = env.get_observation()\ndone = False\nwhile not done:\n action = env.move()\n observation, reward, done, info = env.step(action)\n env.render()\n```\n\n# Observation\n\n```json\n{\n \"trick\": 12, \n \"round\": 9, \n \"number_of_players\": 4, \n \"scores\": [50, 104, 40, 40], \n \"playing_cards\": [69634, 2102541, 541447], \n \"playing_ids\": [3, 0, 1], \n \"hand_cards\": [529159], \n \"current_player_id\": 2, \n \"valid_hand_cards\": [529159], \n \"number_of_hand_cards_for_all_players\": [0, 0, 1, 0]\n }\n```\n\n# Render\n\n```sh\n--------GAME-------\nround: 9\ntrick: 11\n-------PLAYER------\nplayer 0\n[7\u2660]\nscore: 50\nplayer 1\n[5\u2666]\nscore: 104\nplayer 2\n[5\u2660] [T\u2660]\nscore: 40\nplayer 3\n[2\u2660]\nscore: 40\n--------BOARD-------\n[9\u2660] [3\u2666] [] [8\u2666]\n--------------------\n```\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hisarack/gym-hearts", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gym-hearts", "package_url": "https://pypi.org/project/gym-hearts/", "platform": "any", "project_url": "https://pypi.org/project/gym-hearts/", "project_urls": { "Homepage": "https://github.com/hisarack/gym-hearts" }, "release_url": "https://pypi.org/project/gym-hearts/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "OpenAI Gym Hearts Environment for Reinforcement Learning", "version": "0.0.3" }, "last_serial": 4251780, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "4890271b7ed2647b071c130d93021937", "sha256": "dc92b35e21b3ec70328ac3249e831d227de222b65c3a65b1d79c81ed97ff2122" }, "downloads": -1, "filename": "gym-hearts-0.0.1.zip", "has_sig": false, "md5_digest": "4890271b7ed2647b071c130d93021937", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7604, "upload_time": "2018-09-02T09:00:32", "url": "https://files.pythonhosted.org/packages/f3/dd/30a333667b64145cc5ee72babd66218d1f2a139d88766f7a4e6953f7a76c/gym-hearts-0.0.1.zip" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "e9dbcbf20ca6259c916e313c63bc6798", "sha256": "94e372e7e7c9f19054f4a6a418d268506f6d834c90e02da905a5fb8290034d1c" }, "downloads": -1, "filename": "gym-hearts-0.0.2.zip", "has_sig": false, "md5_digest": "e9dbcbf20ca6259c916e313c63bc6798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8282, "upload_time": "2018-09-02T14:28:08", "url": "https://files.pythonhosted.org/packages/bd/3d/c9f50fa0d5443fc1fed21a3ad07f9bd9f1e3a2a84b1226ab8b8efa7b64f1/gym-hearts-0.0.2.zip" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b3acfc37f53a9d758fd104226091a0a0", "sha256": "8bc88daa1e84cc0336da067bfb55fc12b16188217706cc65c80c981e5080c2a0" }, "downloads": -1, "filename": "gym-hearts-0.0.3.zip", "has_sig": false, "md5_digest": "b3acfc37f53a9d758fd104226091a0a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8722, "upload_time": "2018-09-08T15:23:29", "url": "https://files.pythonhosted.org/packages/f4/c6/a53b3abf47b95ae91eae12972499e17673557a768a3e64edf56297ccab90/gym-hearts-0.0.3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3acfc37f53a9d758fd104226091a0a0", "sha256": "8bc88daa1e84cc0336da067bfb55fc12b16188217706cc65c80c981e5080c2a0" }, "downloads": -1, "filename": "gym-hearts-0.0.3.zip", "has_sig": false, "md5_digest": "b3acfc37f53a9d758fd104226091a0a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8722, "upload_time": "2018-09-08T15:23:29", "url": "https://files.pythonhosted.org/packages/f4/c6/a53b3abf47b95ae91eae12972499e17673557a768a3e64edf56297ccab90/gym-hearts-0.0.3.zip" } ] }