Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

CatchFish

CatchFish is a two-player educational math game built with Python and Kivy.

Players catch moving number and operator fish, assemble arithmetic expressions, and compare the resulting values.

Features

  • Two-player local competition
  • Configurable match length from 1 to 10 rounds
  • Digit-count and absolute-value comparison modes
  • Three-hit rare fish that grants a double-value bonus
  • Decimal arithmetic with a 20-digit comparison cap
  • Touch-oriented portrait interface

Requirements

  • Python 3.10 or later
  • Kivy 2.3.1

Run on Desktop

python -m pip install -r requirements.txt
python main.py

Android Support

CatchFish has been packaged, signed, installed, and tested on a physical Android 10 device in portrait orientation.

Current Android build:

  • Architecture: arm64-v8a
  • Package format: signed Release APK
  • Minimum verified environment: Android 10

Testing on additional devices and Android versions has not yet been completed.

Debug Modes

Fish values are hidden during normal play.

Show fish values

$env:CATCHFISH_DEBUG = "1"
python main.py

Enable individual desktop debug options

$env:CATCHFISH_VISUAL_DEBUG = "1"
$env:CATCHFISH_SHOW_VALUES = "1"
$env:CATCHFISH_DESKTOP_TEST = "1"
python main.py

Desktop Test Mode uses a fixed 360 × 760 portrait window and accepts left-click fish hits only.

The round-count field accepts decimal digits and clamps the value from 1 to 10.

Clear the environment variables or set them to 0 to return to normal play.

Project Structure

CatchFish/
├── app/                # Application startup and root composition
├── assets/
│   └── images/         # Image resources
├── calc/               # Safe arithmetic evaluation
├── controllers/        # Input, menu, gameplay, and timing control
├── debug/              # Development settings and logging
├── game/               # Game state, rules, fish, and session data
├── graphics/           # Canvas and background helpers
├── ui/                 # Kivy user-interface components
├── main.py             # Executable entry point
├── buildozer.spec      # Android build configuration
├── requirements.txt    # Python dependencies
├── pyproject.toml      # Python tooling configuration
├── ARCHITECTURE.md     # Internal architecture
├── SPECIFICATION.md    # Current gameplay specification
├── IDEAS.md            # Future development ideas
└── LICENSE             # MIT License for code and documentation

Visual Assets

Some visual assets used in this project were generated with Google Gemini and subsequently selected, edited, or incorporated by LemonWater.

This project is not affiliated with, endorsed by, or sponsored by Google.

License

The source code and documentation in this repository are licensed under the MIT License. See the LICENSE file for details.

Images, graphics, characters, icons, and other visual assets in the assets/ directory are excluded from the MIT License.

Unless otherwise stated, those assets may not be copied, modified, redistributed, sublicensed, or used commercially without prior permission from LemonWater.

Author

Developed by LemonWater.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages