FLUTTER ECOSYSTEM

alexobviously/squares

適用於 Flutter 的靈活棋盤組件

方塊 專案封面
Stars
40
Forks
19
最近推送(UTC)
2023年8月8日
專案狀態
未封存
Alex Baker GitHub avatar
GITHUB User

Alex Baker ↗

generative art and music, dart, flutter apps, chess stuff, etc

A medtech company
語言DartC++CMakeHTMLRubySwiftCKotlinObjective-C

技術主題

此儲存庫發佈的套件

使用的依賴

依賴清單 5 項
  • flutter{"sdk":"flutter"}
  • badges^3.0.2
  • equatable^2.0.5
  • flutter_test開發依賴{"sdk":"flutter"}
  • lints開發依賴^2.0.0

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 README

Squares

A flexible chessboard widget for Flutter.

Squares is a chessboard like you've never seen before. Or more accurately, it is a chessboard very much like the ones you have seen before, but one that can do a pretty wide variety of things.

It is a UI package only, meaning it doesn't handle game logic. The Bishop package is recommended for game logic, and there is also a small interoperability package, Square Bishop that provides convenience methods for common type, a state for Squares to use, and extension methods on Bishop.Game that generate it.

There are two examples: a simple one in around 100 lines, and a more complex and featureful app that demonstrates the various features of Squares in a realistic architecture.

Squares has a stateless Board widget that can used to display a complete board representation, and can be integrated at a low level with your own UI logic. However, the more likely use case involves the BoardController widget, which implements all of the piece selection and movement logic you're likely to need, including premoves and piece promotion.

Features
  • Highlighting previous moves, possible moves, check/checkmate

  • Board themes
    https://raw.githubusercontent.com/alexobviously/squares/main/images/themes.gif

  • Marker themes
    https://raw.githubusercontent.com/alexobviously/squares/main/images/highlight_themes.gif

  • Piece animations
    https://raw.githubusercontent.com/alexobviously/squares/main/images/animations.gif

  • Premoves
    https://raw.githubusercontent.com/alexobviously/squares/main/images/premoves.gif

  • Supports arbitrary board sizes and pieces
    https://raw.githubusercontent.com/alexobviously/squares/main/images/nano.gif
    https://raw.githubusercontent.com/alexobviously/squares/main/images/capablanca.gif
    https://raw.githubusercontent.com/alexobviously/squares/main/images/grand.gif
    https://raw.githubusercontent.com/alexobviously/squares/main/images/xiangqi.gif

  • Piece promotion
    https://raw.githubusercontent.com/alexobviously/squares/main/images/promotion.gif

  • Flexible piece set definitions - any widget will do, use an svg, image asset, text, etc
    https://raw.githubusercontent.com/alexobviously/squares/main/images/piecesets.gif

  • Dropping pieces from hands (à la Crazyhouse)
    https://raw.githubusercontent.com/alexobviously/squares/main/images/crazyhouse.gif