{"id":25101012,"url":"https://github.com/starciad/suno","last_synced_at":"2026-02-26T19:32:39.881Z","repository":{"id":276020364,"uuid":"927226350","full_name":"Starciad/SUno","owner":"Starciad","description":"🎴 ➥ A terminal implementation of the UNO card game, written in C following the C99 standard.","archived":false,"fork":false,"pushed_at":"2025-02-06T15:39:12.000Z","size":281,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-08T19:38:15.751Z","etag":null,"topics":["c","c-language","c99","card-game","console-game","gcc","makefile","terminal-game","text-based-game","uno","uno-card-game","uno-game"],"latest_commit_sha":null,"homepage":"","language":"C","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/Starciad.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-04T16:03:26.000Z","updated_at":"2025-02-21T01:24:41.000Z","dependencies_parsed_at":"2025-09-08T19:38:18.710Z","dependency_job_id":"cab22b6b-e1cb-42d9-a531-8b46d8dcc927","html_url":"https://github.com/Starciad/SUno","commit_stats":null,"previous_names":["starciad/suno"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Starciad/SUno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Starciad%2FSUno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Starciad%2FSUno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Starciad%2FSUno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Starciad%2FSUno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Starciad","download_url":"https://codeload.github.com/Starciad/SUno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Starciad%2FSUno/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29868539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T18:42:30.764Z","status":"ssl_error","status_checked_at":"2026-02-26T18:41:47.936Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["c","c-language","c99","card-game","console-game","gcc","makefile","terminal-game","text-based-game","uno","uno-card-game","uno-game"],"created_at":"2025-02-07T20:28:34.686Z","updated_at":"2026-02-26T19:32:39.874Z","avatar_url":"https://github.com/Starciad.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎴 『 Super Uno 』 🎴\n\n![screenshot_1]\n\u003e Stylized logo of the project on the terminal.\n\nWelcome to the **SUno** project, a **terminal-based** implementation of the **UNO** card game, written in **C** and following the **C99 standard**.\n\nThis project was developed as a way to study and practice the C language, focusing on **modularization, coding best practices, code structure, and game logic**. The goal was to create a **challenging, fun, and faithful** experience based on the official UNO rules.\n\n\u003e [!IMPORTANT]  \n\u003e This project has been archived and will no longer receive updates. If you wish to see its other version, as well as other similar projects, please visit the [c_projects](https://github.com/Starciad/c_projects) repository.\n\n## How to Play\n\nThe game is fully functional and can be downloaded from the **RELEASES** section. Check it out at the link below:\n\n- \u003chttps://github.com/Starciad/SUno/releases\u003e\n\nDownload the appropriate version for your operating system. After that, extract the compressed file to the location you want on your computer. Then, simply run the executable file.\n\n## About the Project\n\n**SUno** is a **fully terminal-based** UNO game, providing a **smooth and immersive** gameplay experience with support for **solo mode against AI opponents**.\n\n### **Main Features**\n\n- Intuitive text-based game interface.\n- Full implementation of the official UNO rules.\n- **AI system for bots**, each with slightly different strategies.\n- Detailed messages to track moves and actions.\n- Support for **multiple players** against AI opponents.\n- Well-structured and modular code following best practices.\n- Uses only **C standard libraries**.\n\nThe code structure has been carefully designed to be **easy to understand, modify, and expand**, allowing for future feature additions.\n\n## About the UNO Game\n\n**UNO** is an American card game created by **Merle Robbins and family** in **1971**. Over the years, it has become one of the **most popular card games worldwide**, with various themed editions and rule variations.\n\n### **Quick Facts**\n\n- **Number of players**: 2 – 10  \n- **Number of cards**: 108  \n- **Average playtime**: 15 – 30 minutes  \n\n### **Rules Used**\n\n- The objective of the game is to be the first player to get rid of all their cards.\n\n- Each player starts with **7 cards**, and a card from the top of the deck is flipped to start the **discard pile**. During the game, players must **play a card that matches the top card** of the discard pile by **number, color, or type**. If they cannot play, they must **draw a card**.\n\n- The deck includes **number cards (0–9)** and **special action cards**, as shown in the table below:\n\n| Card            | Effect |\n|----------------|--------|\n| **Skip**       | The next player **loses their turn**. |\n| **Reverse**    | **Reverses** the turn order. |\n| **Draw Two (+2)** | The next player **draws 2 cards** and loses their turn. |\n| **Wild**       | Allows the player to **choose a new color**. |\n| **Wild Draw Four (+4)** | Allows the player to **choose a new color**, forces the next player to **draw 4 cards**, and lose their turn. |\n\n- If a player has only **one card left**, they must declare \"**UNO!**\". If caught not saying it, they must **draw 2 penalty cards**. The game continues until one player has no cards left.\n\n- When a player draws a card, his turn is passed.\n\n![uno_deck]\n\u003e A complete deck of UNO cards.\n\n## Screenshots\n\n![screenshot_2]\n\u003e Player list displayed after game starts.\n\n---\n\n![screenshot_3]\n\u003e Player HUD.\n\n---\n\n![screenshot_4]\n\u003e Bots playing the game.\n\n## Contributions\n\nContributions are welcome! If you want to **fix bugs, optimize the code, or add new features**, follow these steps:\n\n1. **Fork** the repository.\n2. Create a **new branch** for your changes:\n\n    ```sh\n    git checkout -b my-modification\n    ```\n\n3. Make your changes and **commit with a descriptive message**:\n\n    ```sh\n    git commit -m \"feat: improved AI logic.\"\n    ```\n\n4. Push your changes to your repository:\n\n    ```sh\n    git push origin my-modification\n    ```\n\n5. Open a **Pull Request (PR)** so your changes can be reviewed.\n\nIf you find a bug or have a suggestion, feel free to **open an issue**! 🚀\n\n## Compiling the Project\n\nTo compile **SUno**, you need a **C compiler** that supports **C99**. The code can be easily compiled using **GCC**.\n\n### **1. Clone the repository**\n\n```sh\ngit clone https://github.com/Starciad/SUno.git\ncd SUno\n```\n\n### **2. Compile the code**\n\nMake sure you have **GCC** and **make** installed in your environment. Then, navigate to the `project/` directory and run `make`. The game will compile and generate an executable.\n\n### **3. Run the game**\n\n```sh\n./SUno\n```\n\nIf you prefer to compile manually, ensure that all `*.c` files are being compiled correctly and that the headers in `include/` are included.\n\n## License\n\nThis project is licensed under the **MIT License**.  \nThis means you are free to **use, modify, and distribute** the code, as long as proper credit is given to the original author.\n\nFor more details, check the [`LICENSE`](LICENSE) file.\n\n## Acknowledgments\n\n🎴 ➥ Thank you for checking out this project. Have fun playing UNO in the terminal! 😃\n\n\u003c!-- IMAGES \u0026 ASSETS --\u003e\n[uno_deck]: ./.github/assets/images/general/uno_deck.webp\n[screenshot_1]: ./.github/assets/images/screenshots/screenshot_1.webp\n[screenshot_2]: ./.github/assets/images/screenshots/screenshot_2.webp\n[screenshot_3]: ./.github/assets/images/screenshots/screenshot_3.webp\n[screenshot_4]: ./.github/assets/images/screenshots/screenshot_4.webp\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarciad%2Fsuno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstarciad%2Fsuno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarciad%2Fsuno/lists"}