FLUTTER ECOSYSTEM

kevmoo/slide_puzzle

Dart और Flutter में क्लासिक स्लाइड (15) पज़ल

स्लाइड पज़ल प्रोजेक्ट कवर
Stars
179
Forks
75
अंतिम पुश (UTC)
24 सित॰ 2026
प्रोजेक्ट स्थिति
सक्रिय
Kevin Moore GitHub avatar
GITHUB User

Kevin Moore ↗

A Product Manager at @google working on @dart-lang and @flutter web technologies

@dart-lang @flutter @googleSeattle, WA, USAआधिकारिक वेबसाइट ↗
भाषाएँDartC++CMakeRubyCSwiftHTMLKotlinObjective-C

संबंधित पैकेज और उदाहरण

उपयोग की गई निर्भरताएँ

निर्भरता सूची 9 आइटम
  • collection^1.19.1
  • flutter{"sdk":"flutter"}
  • http^1.2.0
  • material_ui^1.1.1
  • provider^6.0.2
  • url_launcher^6.3.0
  • dart_flutter_team_lintsडेवलपमेंट^3.0.0
  • flutter_testडेवलपमेंट{"sdk":"flutter"}
  • testडेवलपमेंट^1.24.0

ऐप श्रेणियाँ

मूल README

यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।

README खोलें / बंद करें

slide_puzzle

A slide (15) puzzle implemented in Dart and Flutter.

Live Demo: https://kevmoo.github.io/slide_puzzle/

Slide Puzzle Screenshot

Features

  • Multiple Themes:
    • Simple: Minimalist numerical tiles with smooth physics animations.
    • Seattle: Image-based slider dividing photography across the grid.
    • Plaster: Stylized typographic display using custom font geometry.
  • Physics & Animations: Spring simulation, velocity decay, and directional drag physics.
  • Built-in Solver:
    • Shortest-path A* solver utilizing Manhattan distances and linear conflicts.
    • Step-by-step hint button and automated playback solve mode.
  • Auto-Play & Metrics: Automatic random move ticker with move and tile counters.

Architecture

  • High-Performance Nibble Packing: Boards $\le 4 \times 4$ use _PuzzleSmart backed by a Uint32List packed into 4-bit nibbles for zero-allocation state transitions.
  • Incremental Delta Tracking: Tile movements calculate distance deltas and linear conflict adjustments incrementally without full board rescans.
  • Generic Fallback: Arbitrary board dimensions ($>16$ tiles, e.g. 5×5) gracefully fall back to _PuzzleSimple (Uint8List).

Development

# Run locally in Chrome
flutter run -d chrome

# Run test suite
flutter test

# Run tests with coverage
flutter test --coverage