{"id":20462035,"url":"https://github.com/denvercoder1/cpp-yaniv","last_synced_at":"2025-03-05T11:32:25.786Z","repository":{"id":103330867,"uuid":"165220118","full_name":"DenverCoder1/CPP-Yaniv","owner":"DenverCoder1","description":"Yaniv Card Game written in C++","archived":false,"fork":false,"pushed_at":"2019-01-14T09:29:09.000Z","size":49,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-16T00:40:18.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DenverCoder1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-01-11T09:50:30.000Z","updated_at":"2023-12-24T06:30:24.000Z","dependencies_parsed_at":"2023-05-15T13:15:49.611Z","dependency_job_id":null,"html_url":"https://github.com/DenverCoder1/CPP-Yaniv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DenverCoder1%2FCPP-Yaniv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DenverCoder1%2FCPP-Yaniv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DenverCoder1%2FCPP-Yaniv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DenverCoder1%2FCPP-Yaniv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DenverCoder1","download_url":"https://codeload.github.com/DenverCoder1/CPP-Yaniv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242018961,"owners_count":20058708,"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","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":[],"created_at":"2024-11-15T12:29:38.799Z","updated_at":"2025-03-05T11:32:25.623Z","avatar_url":"https://github.com/DenverCoder1.png","language":"C++","readme":"# CPP-Yaniv\n\nYaniv Card Game written in C++ that is played in the console.\n\nYou can choose 2 to 8 humans or AIs to play against each other on the same device.\n\nDemo: https://repl.it/repls/DarkgrayLankyDominspector\n\n## How To Play\n\n### Object and Scoring\n* Jokers are 0 points, Aces are 1, 2-10 are their value, and face cards are 10.\n* The object of the game is to be the player with the fewest points in their hand at the end of each round.\n* When a player has 7 or fewer points in their hand, they may end the round their next turn by calling \"Yaniv.\"\n* If anyone has an equal or lower score in their hand when someone calls \"Yaniv,\" they call \"Assaf\" and win the round.\n* A 30-point penalty is added to the sum of the player who got 'Assaf-ed'.\n* At the end of each round, the points each non-winner has in their hand are added to their cumulative score.\n* When a player reaches over 200 points, they are eliminated.\n* If a player's score lands on an exact multiple of 50 (ex. 50, 100, 150, 200), their score is divided in half.\n\n### Play\n* Each player starts with 5 cards and the discard pile starts with one random card face-up.\n* On their turn, players discard a card or set and draw a card from either the draw pile or the last thrown cards.\n* A set can be either multiples (ex. 2, 3, or 4-of-a-kind) or a series of 3 or more consecutive cards of the same suit.\n* A Joker can be used as a wild-card in a series in place of a missing number (ex. 4H J 6H).\n* When drawing a card from the last thrown cards, only the first or last card in the set can be drawn.\n* When a player has 7 or fewer points in their hand at the start of their turn, they may call \"Yaniv\" and end the round.\n* The winner of the round gets 0 points added to their score and they start the next round.\n\n### Bonus Rules\n* Slapdown: If you play a card or multiples of a card and draw from the draw pile, if the card is of the same value, you may quickly slap down the card onto the discard pile.\n* If a player plays a series with a Joker, even if it is in the middle of a series, if the next player has the card that belongs in the place of Joker, they may swap the card for the Joker as their turn.\n\n### Optional Variations\n* Choose to play with or without the 'Slap-down' rule\n* Choose to allow or disallow players from swapping the corresponding card for a joker (even in the middle of a series)\n* Choose to play with 50-point reductions instead of 50% reductions on multiples of 50\n* Set a different number of points required to call Yaniv (ex. 5, 7, 9, 11)\n* Start with a different number of cards\n* Set the limit at which players are eliminated\n* Set the penalty amount for getting Assaf-ed\n* Set extra penalties for getting Assaf-ed by more than one player\n* Allow picking up any card in a set of 3 or 4-of-a-kind and not just the first or last (the rule still applies to series)\n\n## Features\n\n* Play with 2 to 8 players being all human, all AI, or a combination of both.\n* Set the names for each player\n* You will be asked at the start of the game which rule variations you want to play with.\n* As long as you have not yet chosen a card to draw you may type `undo` to re-select the cards you want to discard.\n* The history of the previous turn is displayed so everyone knows what cards were discarded, drawn from the discard pile, and how many cards everyone has left.\n* Illegal discards and draws are not playable and an error message will be displayed.\n* Cards will always be displayed in sorted order with jokers on the left followed by A-K.\n\n## What I plan to do next:\n\n### Design improvements\n* Form the shape of cards when printing instead of printing as text\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenvercoder1%2Fcpp-yaniv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenvercoder1%2Fcpp-yaniv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenvercoder1%2Fcpp-yaniv/lists"}