{"id":50724532,"url":"https://github.com/curnext/hexalink","last_synced_at":"2026-06-10T03:02:32.658Z","repository":{"id":329444901,"uuid":"1119635953","full_name":"curnext/hexalink","owner":"curnext","description":"A Windows-native TUI logic puzzle game inspired by Slitherlink. Features a custom character-based GUI framework and a hexagonal backtracking solver. Developed as a C++ course assignment.","archived":false,"fork":false,"pushed_at":"2025-12-19T15:48:27.000Z","size":13189,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-22T06:38:32.103Z","etag":null,"topics":["course-project","cpp","hexagonal-grid","puzzle-game","slitherlink","tui"],"latest_commit_sha":null,"homepage":"","language":"C++","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/curnext.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-19T15:39:11.000Z","updated_at":"2025-12-19T15:51:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/curnext/hexalink","commit_stats":null,"previous_names":["curnext/hexalink"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/curnext/hexalink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curnext%2Fhexalink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curnext%2Fhexalink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curnext%2Fhexalink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curnext%2Fhexalink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/curnext","download_url":"https://codeload.github.com/curnext/hexalink/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curnext%2Fhexalink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34134634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["course-project","cpp","hexagonal-grid","puzzle-game","slitherlink","tui"],"created_at":"2026-06-10T03:02:27.442Z","updated_at":"2026-06-10T03:02:32.647Z","avatar_url":"https://github.com/curnext.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HiveGame\n\nA console-based hexagonal grid puzzle game developed as a C++ course assignment.\n\n## Introduction\n\nHiveGame is a puzzle game that runs in the Windows console, providing an interactive GUI-like experience through character rendering. It captures mouse and keyboard events to allow for dynamic gameplay, level selection, and editing.\n\n### Compatibility Note\n\u003e This game is designed specifically for the **Windows console environment**. It relies on the Windows API for console manipulation.\n\u003e - **Best experienced in**: Legacy Windows Console (cmd.exe or powershell.exe).\n\u003e - **Current Issues**: There are minor compatibility issues with the latest **Windows Terminal** regarding event handling and rendering.\n\n## Gallery\n\n### Game Overview\n![Game Windows](figures/game-windows.png)\n*Snapshot showing the three main windows: Level Selection, Gameplay, and Editor.*\n\n### Puzzle Book\n![Puzzle Book](figures/puzzle-book.png)\n*The Puzzle Book interface for browsing and selecting challenges.*\n\n## Core Functionalities\n\nThe application consists of three primary modules:\n\n1.  **PuzzleBook**: A level browser where you can view and launch different puzzle challenges.\n2.  **HiveBoard**: The main gameplay interface where you solve hexagonal puzzles by toggling cell states to satisfy numerical constraints.\n3.  **HiveBoardEdit**: A built-in level editor to design and test custom hexagonal maps.\n\n## Controls\n\nThe game primarily uses mouse interactions, supplemented by keyboard shortcuts.\n\n### View Manipulation\n- **Alt + Left Click + Drag**: Pan the view.\n- **Alt + Mouse Wheel**: Zoom in and out.\n- **Right Click**: Open the context menu for most components.\n\n### Navigation \u0026 Logic\n- **PuzzleBook**: Use the mouse wheel to scroll through pages; middle-click to reset view.\n- **HiveBoard**: \n  - `s`: Find the next \"strict\" solution.\n  - `p`: Find the next \"partial\" solution.\n  - `a`: Show a normal answer.\n  - `e`: Clear all current lines/states.\n- **Editor**: Single-click to add a cell, double-click to remove, and scroll to change a cell's number.\n\n## Code Organization\n\nThe codebase is split into three distinct layers:\n\n### 1. `CW/` (Console Window Framework)\nA custom-built GUI framework for the Windows console. It handles:\n- **Event Loop**: 30ms refresh rate with asynchronous keyboard/mouse event processing.\n- **Widget System**: A hierarchical component system (Buttons, Windows, Scrollables) with localized coordinate spaces.\n- **Timer**: A task scheduler for periodic operations like UI updates.\n\n### 2. `Hive/` (Core Game Logic)\nContains the mathematical and algorithmic foundation of the game:\n- **HID**: A specialized coordinate system for hexagonal elements (Cells, Lines, Nodes).\n- **MagicBee**: A backtracking solver designed to find valid solutions for a given hexagonal configuration.\n\n### 3. `HiveGameW/` (Game Implementation)\nIntegrates the `CW` framework with `Hive` logic to build the actual game windows and user interactions.\n\n---\n*Developed by Hanlin Wu (curnext)*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurnext%2Fhexalink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcurnext%2Fhexalink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurnext%2Fhexalink/lists"}