FLUTTER ECOSYSTEM

kevmoo/slide_puzzle

Dart와 Flutter에서의 전통적인 슬라이드(15) 퍼즐

슬라이드 퍼즐 프로젝트 이미지
Stars
179
Forks
75
최근 푸시(UTC)
2026. 9. 24.
프로젝트 상태
활성
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 개

앱 카테고리

원본 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