{"id":15457757,"url":"https://github.com/yassineldeeb/estimation-bot","last_synced_at":"2025-08-17T14:38:36.797Z","repository":{"id":104833938,"uuid":"435670317","full_name":"YassinEldeeb/estimation-bot","owner":"YassinEldeeb","description":"A bot for competing with estimation (cards game) 🃏 pro players and actually beat them 💪","archived":false,"fork":false,"pushed_at":"2021-12-18T19:35:24.000Z","size":3407,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T10:04:39.097Z","etag":null,"topics":["bot","card","card-game","cards","game","rust","rustlang","strategy"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/YassinEldeeb.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":"2021-12-06T22:42:27.000Z","updated_at":"2021-12-18T20:28:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"8cf393d0-dab6-4a71-acfb-68a054760ccc","html_url":"https://github.com/YassinEldeeb/estimation-bot","commit_stats":{"total_commits":29,"total_committers":1,"mean_commits":29.0,"dds":0.0,"last_synced_commit":"0a0813159f5dd4e072cfd3626344bbdea3902a43"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YassinEldeeb/estimation-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YassinEldeeb%2Festimation-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YassinEldeeb%2Festimation-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YassinEldeeb%2Festimation-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YassinEldeeb%2Festimation-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YassinEldeeb","download_url":"https://codeload.github.com/YassinEldeeb/estimation-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YassinEldeeb%2Festimation-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270861093,"owners_count":24658519,"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-17T02:00:09.016Z","response_time":129,"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":["bot","card","card-game","cards","game","rust","rustlang","strategy"],"created_at":"2024-10-01T22:51:09.403Z","updated_at":"2025-08-17T14:38:36.736Z","avatar_url":"https://github.com/YassinEldeeb.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Estimation bot 🤖\n\n## What's estimation?\nThe card game Estimation is a trick-taking game where you score points by correctly predicting the amount of tricks you will take each round.\n\n\u003e🌟 It's a strategy based game that requires a lot of thinking, practising and a bit of luck 🍀\n\n## What'll this bot do?\nTry beating estimation pro players without machine learning using some maths formulas! \n\u003eoh god what have I gotten myself into 🤦‍♂️\n\n# Game Explanation 👨‍🏫\n\n## Objective 🤔\nScore the most points by correctly predicting how many tricks you’ll take each round.\n\n## Trick 🎃?\nA trick is created by each player playing a card into \nthe middle.\n\nThe winner of the trick is the player with the highest \nraking card.\n\n![Trick Image here](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/trick.png)\n\n## Card Rank 💪\nThe Cards are ranked with “Ace” being the Highest and “two” being the Lowest untill a trump suit is established.\n\n![Card rank Image here](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/ranks.png)\n\nThe trump suited card will outrank all other suited cards.\n\nfor example: if “clubs” are trump, then the 9 of clubs will outrank the “Ace” of hearts\n\n![Trump Suit Image here](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/trumpSuit.png)\n\n## Deal 🤝\nBefore the game starts, the first dealer needs to be established.\n\nThis’s done by each player picking a card and the person with the highest ranking card is the first dealer.\n\n![delear image here](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/dealer.png)\n\n## Bidding 💲\n\nAfter the cards are dealt but before the gameplay \nstarts, each player will bid on how many tricks,\nhe think he’ll win.\n\nBidding will start with the player on the left of the \ndealer and continue around clockwise.\n\nThere's also bidding on what the \"Trump Suit\" will be and the player with the highest trump suit ranking is the one who decides what is the \"Trump Suit\" for the round.\n\n\u003e🌟 Trump Suit Ranking: Spades -\u003e Heart -\u003e Diamonds -\u003e Clubs\n\nOne player will need to be designated as the score\nkeeper and have a scorecard ready before the \nbidding starts.\n\nAs players bid the score keeper will write down the\nstated bid for each player.\n\nThe total number of tricks bid can’t be equal to the total\nnumber of tricks possible, so this game is played using the [Standard 52-card deck](https://en.wikipedia.org/wiki/Standard_52-card_deck)\n\n\n![card deck image](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/standard%2052-card-deck.png)\n\nwhich means that this table can clarify the maximum number of tricks bid that's possible based on the number of the players.\n\n\n![Table image here](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/table.png)\n\nThis makes it that at least one player goes negative each round cause if you multiplied the players count with the Card Amount you'll always get a number that's less than 52(number of the cards).\n\n## Game Play 🃏\n\n## 🌟 I think the video format will be better for understanding the gamplay instead of reading, check [this video](https://youtu.be/aqmiD5RTBkI?t=171)\n\nThe player left of the dealer plays the first card into\nthe middle.\n\nEach player must follow the lead suit when possible.\n\nTrump cards can’t be used unless the player don’t \nhave the lead suit.\n\nIf a player is unable to follow the lead, that player \ncan play any card but the card he’ll place will have \nthe least rank of all cards unless it was a trump suit 😉\n\nThe winner of the trick is the player who played the\nhighest card in the lead suit unless a Trump suited\ncard was played, if Trump is involved the player with\nthe highest ranking trump card would win the trick.\n\nThe winner of the trick leads the next trick.\n\n## Keeping Score 💯\n\n10 Points are added to each player’s bid every round\n\nIf a player correctly predicts the amount of tricks he\nwon the player is awarded his bid + 10 to his score.\n\nIf a player incorrectly guessed the amount of tricks\nhe won the player is given the negative amount of \nhis (bid + ten points) to his score.\n\n![Score Image here](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/score.png)\n\n## Strategy 🤖\n\nThe standard card deck has 52 cards\n- 13 of each unit 👇\n- Clubs, Diamonds, Hearts, and Spades\n\n1- so the first strategy that the bot will use to defeat my dad is to keep track of what cards that was played and what is still in player's hands so that the bot can decide:\n\n- approximately the number of tricks he'll bid on\n- wether a particular time is good or not to play a high ranking card based on the cards with the players. \n\n\n![Strategy 1](https://github.com/YassinEldeeb/estimation-bot/blob/main/images/strategy1.png)\n\n2- still thinking...\n\n# Credits\n\n- This [YouTube Tutorial](https://www.youtube.com/watch?v=aqmiD5RTBkI)\n\n- This [wiki](https://en.wikipedia.org/wiki/Standard_52-card_deck)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyassineldeeb%2Festimation-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyassineldeeb%2Festimation-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyassineldeeb%2Festimation-bot/lists"}