{"id":28991326,"url":"https://github.com/ninjaro/kcuckounter","last_synced_at":"2025-09-13T01:34:20.724Z","repository":{"id":300758046,"uuid":"1003976196","full_name":"ninjaro/kcuckounter","owner":"ninjaro","description":"...one flew east, one flew west,  One flew over the multiple decks.","archived":false,"fork":false,"pushed_at":"2025-06-23T15:59:09.000Z","size":729,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-25T01:16:20.636Z","etag":null,"topics":["blackjack","card-counting","card-game","game","hi-lo","kde","qt"],"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/ninjaro.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}},"created_at":"2025-06-17T23:49:09.000Z","updated_at":"2025-06-23T17:12:40.000Z","dependencies_parsed_at":"2025-06-23T13:34:43.651Z","dependency_job_id":null,"html_url":"https://github.com/ninjaro/kcuckounter","commit_stats":null,"previous_names":["yariabtsev/kcuckounter","ninjaro/kcuckounter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ninjaro/kcuckounter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjaro%2Fkcuckounter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjaro%2Fkcuckounter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjaro%2Fkcuckounter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjaro%2Fkcuckounter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ninjaro","download_url":"https://codeload.github.com/ninjaro/kcuckounter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjaro%2Fkcuckounter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274907310,"owners_count":25371814,"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-09-12T02:00:09.324Z","response_time":60,"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":["blackjack","card-counting","card-game","game","hi-lo","kde","qt"],"created_at":"2025-06-25T01:16:19.159Z","updated_at":"2025-09-13T01:34:20.713Z","avatar_url":"https://github.com/ninjaro.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kcuckounter\n\n## ...one flew east, one flew west, \u003cbr\u003eOne flew over the multiple decks.\n\n[//]: # ([![version]\u0026#40;https://img.shields.io/github/v/release/YaRiabtsev/kcuckounter?include_prereleases\u0026#41;]\u0026#40;https://github.com/YaRiabtsev/kcuckounter/releases/latest\u0026#41;)\n[//]: # ([![Checks]\u0026#40;https://github.com/YaRiabtsev/kcuckounter/actions/workflows/tests.yml/badge.svg\u0026#41;]\u0026#40;https://github.com/YaRiabtsev/kcuckounter/actions/workflows/tests.yml\u0026#41;)\n[//]: # ([![Docs \u0026 Coverage]\u0026#40;https://github.com/YaRiabtsev/kcuckounter/actions/workflows/html.yml/badge.svg\u0026#41;]\u0026#40;https://github.com/YaRiabtsev/kcuckounter/actions/workflows/html.yml\u0026#41;)\n[//]: # ([![codecov]\u0026#40;https://codecov.io/gh/YaRiabtsev/kcuckounter/graph/badge.svg?token=MCNEJFWMDU\u0026#41;]\u0026#40;https://codecov.io/gh/YaRiabtsev/kcuckounter\u0026#41;)\n\n[![license](https://img.shields.io/github/license/YaRiabtsev/kcuckounter?color=e6e6e6)](https://github.com/YaRiabtsev/kcuckounter/blob/master/license)\n\n\u003e Just play poker in Indian Casinos and stay single and live where and how he wants to, if people would let him,\n\u003e \u003cbr\u003e P.R. said — but Chief released him.\n\nThey’re out there. \u003cbr\u003e\nBlack Kings and Red Queens in suits — up before me, to be committed to the repository and get mopped up before you can memorize them.\n\n## Brief Description\n\n**kcuckounter** is an educational game. The project aims to\nimprove basic arithmetic skills and memory retention by counting cards in\ndifferent table-slots with different strategies. The user has the option to use\none of the preloaded strategies (Hi-Lo, Hi-Opt I, Hi-Opt II, Zen Count and\nother) or create their own custom strategy. The game is implemented in C++ with\nusing Qt6, KF6, KDEGames6 and carddeck packs from kdegames-card-data-kf6.\n\n## Gameplay\n\n| ![Game setup](screenshots/Screenshot_20230221_180009.png)           | ![Game process](screenshots/Screenshot_20230221_180045.png) |\n|---------------------------------------------------------------------|-------------------------------------------------------------|\n| ![Strategy information](screenshots/Screenshot_20230221_180212.png) | todo:![Choosing a theme](screenshots/Screenshot_null.png)   |\n\nAt the beginning of the game, the user customizes the number of table-slots, and\nfor each table-slot, they can choose the number of standard playing card decks\nand the strategy. The abstract dealer then picks up one card from one or more\ntable-slots (depending on the level of difficulty). The user must keep track of\nthe sum of the weight of the cards in each table-slot, taking into account the\nweight assigned to each card in the chosen strategy.\n\nIf the next picked card is a joker, the user must answer a joker's question to\ncontinue playing. The joker card has no weight and is rare, so answering\ncorrectly about the current weight of the table-slot with the joker card changes\nthe score.\n\nThe score is based on the player's ability to answer the joker questions\ncorrectly and is measured by the number of jokers the player has guessed\ncorrectly out of the total number of joker questions.\n\nThe main focus of the game is to improve arithmetic skills and memory, and the\nscore serves as a motivational tool.\n\n## Requirements\n\nTo build **kcuckounter** you need a C++20 toolchain, CMake and the Qt 6\nstack with KDE Frameworks 6. Typical packages are:\n\n- `cmake` and a C++ compiler (e.g. `clang++`)\n- Qt 6 base and svg modules\n- KDE Frameworks 6: `kcoreaddons`, `ki18n`, `kxmlgui`, `kconfigwidgets`,\n  `kwidgetsaddons`, `kio` and `libkdegames`\n- `extra-cmake-modules`\n\n## Setup and Installation\n\n1. **Configure**\n   ```bash\n   cmake -B build/ -DCMAKE_INSTALL_PREFIX=$HOME/kde/usr/ -DQT_MAJOR_VERSION=6\n   ```\n2. **Build**\n   ```bash\n   cmake --build build/ --parallel $(nproc)\n   ```\n3. **Install**\n   ```bash\n   sudo cmake --install build/\n   ```\n4. **Run**\n   ```bash\n   source build/prefix.sh\n   kcuckounter\n   ```\n\n## Documentation and Contributing\n\nFor detailed documentation see the [Documentation](https://yariabtsev.github.io/kcuckounter/doc/) page. \n\n## Docker\n\nThe provided `Dockerfile` builds **kcuckounter** inside an Arch Linux\ncontainer. After the image is created the game can be started directly:\n\n```bash\ndocker build -t kcuckounter .\ndocker run --rm kcuckounter\n```\n\nUnit tests and coverage generation can be enabled during the build by passing\nadditional build arguments:\n\n```bash\ndocker build -t kcuckounter --build-arg COVERAGE=ON .\n```\n\n## Security Policy\n\nPlease report any security issues using GitHub's private vulnerability reporting\nor by emailing [yaroslav.riabtsev@rwth-aachen.de](mailto:yaroslav.riabtsev@rwth-aachen.de).\nSee the [security policy](.github/SECURITY.md) for full details.\n\n## License\n\nThis project is open-source and available under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninjaro%2Fkcuckounter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fninjaro%2Fkcuckounter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninjaro%2Fkcuckounter/lists"}