Skip to content

Shape Matching Game

Match five original pieces to equivalent silhouettes across drag, click, and keyboard paths, earning an audited 1,000-point finish.

Privacy: your files never leave your device. All processing happens locally in your browser.

How to use

  1. 1.Choose one source piece, then choose or release it over the silhouette with the same name and outline; drag, click, and keyboard routes share one rule.
  2. 2.Use the visible source and target columns or keys 1-5 and 6-0. Every correct equivalent pair earns 200 points and becomes unavailable.
  3. 3.Match Arch, Diamond, Hexagon, Chevron, and Capsule to their same-ID silhouettes to complete all five pairs for exactly 1,000 points.

About Shape Matching Game

Shape Matching Game is a finite browser puzzle containing five original geometric forms: Arch, Diamond, Hexagon, Chevron, and Capsule. Each source piece has one equivalent silhouette identified by the same disclosed shape ID. The forms are rendered with local SVG and CSS tokens rather than imported images, emoji artwork, a model, or a changing dataset. The task is to pair every piece with its equivalent target.

The default board keeps a fixed source order of Arch, Diamond, Hexagon, Chevron, and Capsule. Its silhouette order is Hexagon, Capsule, Diamond, Arch, and Chevron. This deliberate mismatch makes the starting board playable while preserving a literal verification route. A successful pair awards 200 points, removes that pair from further play, and clears the current selection. Five successful pairs therefore total exactly 1,000 points.

Pointer users can press a source and release over a silhouette. The interaction uses pointer events and a target hit test, so touch and mouse share the same logic without relying on HTML5 drag-and-drop. The same task is available as a two-step click flow: choose a piece, then choose its silhouette. Keyboard players may use 1 through 5 for the visible source positions and 6, 7, 8, 9, and 0 for the five visible target positions.

A source paired with a different target creates one recoverable mistake. The source-target signature is stored, so repeating that identical wrong pair is a strict no-op. A second distinct wrong target closes the layout. Unknown IDs, selecting an already matched source, targeting an already matched silhouette, and reselecting the current piece are also atomic no-ops. They cannot change score, matched count, or error count.

Shuffle layout is an explicit user action. It uses a pure seeded Fisher-Yates function with an injectable random source to reorder both columns. It never runs implicitly during render or an effect. The layout ID remains visible, and eight seeds are independently checked for exact reproducibility, five unique source IDs, five unique target IDs, and a complete route to 1,000.

Restart restores the current layout with no pairs, selection, score, or mistakes. Shuffle creates a fresh unplayed layout. Completion and deadlock disable sources, targets, and shuffle, while reducer guards preserve terminal state even if an action is invoked programmatically. The shared game shell supplies Restart, best-score storage, status, keyboard guidance, and the Boss Key.

Independent tests own a literal five-pair mapping rather than asking the product for expected targets. They validate both default orders, every 200-point step, the exact 1,000-point completion, Arch-to-Hexagon and Arch-to-Capsule as two distinct losing attempts, duplicate error handling, illegal and matched-item atomicity, seeded permutations, restart, and terminal freezing.

All processing stays on the device. No account, upload, camera, personal image, API, AI classification, or new dependency is used. The pieces are abstract and do not encode a developmental standard or culturally authoritative symbol system. This game is entertainment, not a child-development, vision, motor, education, employment, or cognitive assessment. Its score records only completion of these five disclosed pairs.

Methodology & sources

Define five original same-ID source and silhouette pairs, fixed default column orders, and a pure seeded Fisher-Yates layout generator. Let pointer release, click selection, and position-based keyboard input call the same reducer. Award 200 for each unmatched same-ID pair and exactly 1,000 after all five; reject unknown, already matched, and repeated selections atomically; deduplicate a source-target error signature; deadlock on the second distinct wrong pair; freeze terminal states. Independently restate all five mappings and audit eight seeds for deterministic complete permutations.

Frequently asked questions

Does drag-and-drop work on touch screens?
Yes. The game uses pointer events and also offers click and keyboard alternatives; it does not depend on desktop-only HTML5 drag-and-drop.
What does Shuffle layout change?
It explicitly applies a reproducible seeded Fisher-Yates permutation to both columns. It changes positions only, never pair identities or scoring.
What happens after a wrong match?
One distinct wrong source-target pair is recoverable, repeating it is ignored, and a second distinct wrong pair closes the run.

Mini Games guides

View all