{"id":19806643,"url":"https://github.com/timnew/zombie_game","last_synced_at":"2025-08-22T11:38:54.823Z","repository":{"id":145702610,"uuid":"86783154","full_name":"timnew/zombie_game","owner":"timnew","description":"A party game that created by David Lee. This is a simulator helps game host to figure out what is actually happend","archived":false,"fork":false,"pushed_at":"2017-04-04T22:06:09.000Z","size":54,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T18:00:50.142Z","etag":null,"topics":["cli","game","judge","ruby","zombie"],"latest_commit_sha":null,"homepage":"https://github.com/timnew/zombie_game","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timnew.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-31T05:56:48.000Z","updated_at":"2023-02-14T01:04:48.000Z","dependencies_parsed_at":"2023-08-25T06:02:45.569Z","dependency_job_id":null,"html_url":"https://github.com/timnew/zombie_game","commit_stats":{"total_commits":28,"total_committers":3,"mean_commits":9.333333333333334,"dds":0.2142857142857143,"last_synced_commit":"d0f5e92a4565c0db4278f42eb11c8d915ae7745d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/timnew/zombie_game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timnew%2Fzombie_game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timnew%2Fzombie_game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timnew%2Fzombie_game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timnew%2Fzombie_game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timnew","download_url":"https://codeload.github.com/timnew/zombie_game/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timnew%2Fzombie_game/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271630860,"owners_count":24793386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","game","judge","ruby","zombie"],"created_at":"2024-11-12T09:08:05.297Z","updated_at":"2025-08-22T11:38:54.782Z","avatar_url":"https://github.com/timnew.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Zombie Game Judge\n=================\n\nZombie Game is a turn-based party game, large group of people to play together.\n\n## Rule\n\nPlayers are divided into 2 groups, most of them are `humans`, small portion of them are `zombies`. \n\nWhen game begins: \n  * Judge tells each player his/her identity, a human or a zombie.\n  * Judge announce, the number of zombies and humans.\n\nEach turn, players interact with others:\n  * One player can interact with another player once in a turn\n  * One player can interact with several players in a turn\n\nIf \n  * **Human** player interacts with **human** player, both of them get 1 score!\n  * **Human** player interacts with **zombie**, **human** player got **temporaryly infected**, **zombie** player get 1 **score**!\n  * **Temporary infected** player turns into a **permanent infected** player after **3 turns**! And whose **scores** are **cleared**!\n  * **Temporary infected** player can **cure** himself/herself by appling **anitdote**. **Every** player, including the zombies has 1 antidote when game started. **Temporary infected** becomes **human** again after used the **antidote**, the **antidote** can be used **only once**!\n  * Antidote has **no effect** if applied to **human** player, **permanent infected** player, or **zombie**, but the antidote is **still consumed**.\n  * **Human player** interacts with infected player, either **temporary** or **permanent** one, human player get infected too.\n  * **Permanent Infected** player get 1 sccore when he/she successfully infected a human player.\n  * **Temporary Infected** player doesn't score, even he/she infected a human player.\n  * Players are **not** informed whether he/she is infected or not.\n  * (Optional) One player can give his/her antidote to another player.\n  \nWhen the turn ends, Judge will announce:\n  * The number of human and zombies, **infected** players (both temporary and permanent) will be counts as **zombie**.\n  * The **score** (Not name) of the human and zombie player who got the highest scores.\n\nThe game ends, when:\n  * **All players** are turned into Zombies by **the end of the turn**, **zombie** wins. The zombie players and permanent infected players are ranked by their scores!\n  * **Only 1 human** player survives by ** the end of the turn**, **human** wins. The survivor wins.\n  * Game reaches the maximum turns, **human** wins. The human players are ranked by their scores.\n  \n### A tricky, but important case:\n\n1. `A` is a **human** player.\n2. In one turn, `A` is touch by a **Zombie** player, so `A` is **temporarly infected**.\n3. After that, in the **same turn**, `A` touches another **human** player `B`, so `B` is **temporarly infected**.\n4. Then, still in the **same turn**, `A` consumes an **antidote**, so `A` is **cured**, and changed to **human** again.\n5. At the same time, `B` is still **temporarly infected**.\n6. 3 turns later, `B` is **permanent infected** and lost all scores.\n\n## How to use the code\n\n### Install\n```\n$ git clone https://github.com/timnew/zombie_game.git\n$ cd zombie_game\n$ bundle install\n```\n\n### Configure the game\n\nGame has a configure file(`config.yml` by default), which includes the player names, and the number of zombie players, and maximum turns for a game. Edit the file according to your case. Then execute following command:\n\n```\n$ rake new_game\n```\n\nIt generates `game.txt`, which is the script describes what happens in the game.\n\n### Record the game\nRecord what happened in the game into `game.txt`\n\n* `INTERACT a b` means player `A` interacts `B`\n* `ANTIDOTE a` means player `A` applied antidote to himself/herself\n* `NEXT_TURN` means the end of the turn.\n\nEach command has short acronym, some of them has alais:\n* Interacts: `INTERACT`, `TOUCH`, `i`, `t`\n* Antidote: `ANTIDOTE`, `a`\n* Next Turn: `NEXT_TURN`, `NEXT_ROUND`, `nt`, `nr`\n\n### Run the game\nAfter update the `game.txt`, run the rake task, which will run the script, and generates result\n```\n$ rake run\n```\nOr\n```\n$ rake\n```\n\n### Watch script change\nIf you want the simualtion run automatically after script changed, use following script\n```\n$ guard\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimnew%2Fzombie_game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimnew%2Fzombie_game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimnew%2Fzombie_game/lists"}