| 123456789101112131415161718192021222324252627 |
- import 'package:flutter/material.dart';
- import 'package:gobang/models/chess_shape.dart';
- import 'package:gobang/models/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();
- }
|