import 'package:flutter/material.dart'; import 'package:gobang/bridge/chess_shape.dart'; import 'package:gobang/bridge/circle_shape.dart'; /// 棋子抽象类(桥接:颜色与外观分离) /// 颜色为享元内部状态;实际绘制以外层 Position.chessShape 为准。 abstract class Chess { Color get color; ChessShape get chessShape; } class BlackChess extends Chess { @override Color get color => Colors.black; @override ChessShape get chessShape => CircleShape(); } class WhiteChess extends Chess { @override Color get color => Colors.white; @override ChessShape get chessShape => CircleShape(); }