* Updated createGameView ListBuilder * Added ReorderableListView * Increment build no * Fixed bug with wrong medal icon * change not equal to greater than * Updated bool var * Fixed deletion error * Small translation improvements * Implemented first version of point overview * Visual improvements on table * Added details and sum row * Updated strings * Implemented new strings * Refactoring * Updated graph displayment * Moved new views to statistics section * Added seperator in main menu * Renaming * Updated sign * Updated colors & class name * Removed empty line * Updated round index * Updated types * Added new kamikaze button and bundles navigation functionality * Updated lock icon * Updated button position and design * Removed title row and changed segmendetControl Padding * Refactored logic and added comments * Updated comment * Chaned icon * Added comment * Removed print * Updated colors * Changed var name * Removed unused strings * Added gameMode * Changed creation variable * Updated mode selection * Updated strings * Changed mode order * Implemented default mode selection * Updated initState * Removed print * Removed print * Removed comments * Updated config service * Changed create game view * Changed icon * Updated strings * Updated config * Updated mode selection logic * Deleted getter * Removed not used code * Implemented reset logic for default game mode * Updated to 0.5.0 * Hotfix: Pixel Overflow * Changed the overall return type for gamemodes * Updated documentation * Fixed merge issues * Added Custom button * Updated strings * Updated buttons, implemented animatedOpacity * Keyboard still doesnt works * Fixed keyboard behaviour * Changed keyboard height * Added method getGameSessionById() * Updated gameSession class * id gets added to gameSession class at creation * Cleaned up file * Added docs and dependency * Removed toString * Implemented null safety * Added named parameter * Replaced button with custom button * Updated key * Updated addGameSessionMethod * Update README.md * Added Strings for popup * Implemented popup & confetti * Extracted code to method _playFinishAnimation() * Replaced tenary operator with Visibility Widget * Replaced tenary operator with Visibility Widget * Used variable again * Added delays in constants.dart * Removed confetti button * Updated strings * Removed print * Added dispose for confettiController * Implemented missing constant in code * Updated gameSession logic so more than one player can be winner * Updated strings * Updated winner popup * game names now can have up to 20 chars * Updated strings * Added sized box for visual enhancement * Centered the add player button and made it wider * New created player textfields get automatically focused * Added focus nodes for autofocus and navigation between textfields * Updated version number * Updated game title textfield with focus node and textaction * Added focusnodes to dispose * Update README.md * Fixed bug with no popup shown * Fixed bug with out of range error * Updated listener notification
98 lines
3.1 KiB
Markdown
98 lines
3.1 KiB
Markdown
# CABO Counter
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
A mobile score tracker for the card game Cabo, helping players effortlessly manage scores and automatically calculate round results.
|
|
|
|
## 📱 Description
|
|
|
|
Cabo Counter is an intuitive Flutter-based mobile application designed to enhance your CABO card game experience. It eliminates manual scorekeeping by automatically calculating points per round.
|
|
|
|
## ✨ Features
|
|
|
|
- 👥 Support for 2-5 players
|
|
- ⚖️ Two game modes:
|
|
- **Point Limit Mode**: Play until a certain point limit is reached
|
|
- **Unlimited Mode**: Play without an limit and end the round at any point
|
|
- 🔢 Automatic score calculation with:
|
|
- Falsly calling Cabo
|
|
- Exact 100-point bonus (score halving)
|
|
- Kamikaze rule handling
|
|
- 📊 Round history tracking via graph and table
|
|
- 🎨 Customizable
|
|
- Change the default settings for point limits and cabo penaltys
|
|
- Choose a default game mode for every new created game
|
|
- 💿 Im- and exporting certain games or the whole app data
|
|
|
|
## 🚀 Getting Started
|
|
|
|
### Prerequisites
|
|
- Flutter 3.32.1+
|
|
- Dart 3.8.1+
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
git clone https://github.com/flixcoo/Cabo-Counter.git
|
|
cd Cabo-Counter
|
|
flutter pub get
|
|
flutter run
|
|
```
|
|
|
|
## 🎮 Usage
|
|
|
|
1. **Start a new game**
|
|
- Click the "+"-Button
|
|
- Choose a game title and a game mode
|
|
- Add 2-5 players
|
|
|
|
2. **Gameplay**
|
|
- Open the first round
|
|
- Choose the player who called Cabo
|
|
- Enter the points of every player
|
|
- If given: Choose a Kamikaze player
|
|
- Navigate to the next round or back to the overview
|
|
- Let the app calculate all points for you
|
|
|
|
3. **Statistics**
|
|
- View the progress graph for the game
|
|
- Get a detailed table overview for every points made or lost
|
|
- Game-over detection (100 Points mode)
|
|
|
|
## 🃏 Key Rules Overview
|
|
|
|
### Scoring System
|
|
- Round winner: 0 points
|
|
- Other players: Sum of card values
|
|
- Failed Cabo call: +5 penalty points
|
|
- Kamikaze: 0 points for caller, 50 for others
|
|
- Exact 100 points: Score halved
|
|
|
|
### Game End
|
|
- First player ≥100 points triggers final scoring
|
|
- In unlimited mode you can end the game via the End Game Button
|
|
- Lowest total score wins
|
|
|
|
## 🤝 Contributing
|
|
|
|
Contributions are welcome! If you'd like to improve Cabo Counter, please:
|
|
- Follow the existing code style and architecture
|
|
- Maintain clean, well-documented code
|
|
- Keep changes focused and test your work
|
|
|
|
Feel free to open issues or submit pull requests!
|
|
|
|
## ⚠️ Disclaimer
|
|
|
|
This project is not affiliated with or endorsed by Smiling Monster GmbH. CABO is a registered trademark of its respective owners. This app is designed for scorekeeping purposes only and does not include actual game components.
|
|
|
|
---
|
|
|
|
> 🚀 Powered by Flutter | Developed with 🩵
|