xiangqi static method

Variant xiangqi()

Implementation

static Variant xiangqi() => Variant(
      name: 'Xiangqi',
      boardSize: BoardSize.xiangqi,
      pieceTypes: {
        'K': general(),
        'A': advisor(),
        'B': elephant(),
        'N': horse(),
        'R': chariot(),
        'C': cannon(),
        'P': soldier(),
      },
      materialConditions: MaterialConditions.none,
      promotionOptions: PromotionOptions.none,
      startPosition: defaultFen,
      regions: {
        'redSide': const RectRegion(
          startRank: Bishop.rank1,
          endRank: Bishop.rank5,
        ),
        'blackSide': const RectRegion(
          startRank: Bishop.rank6,
          endRank: Bishop.rank10,
        ),
        'redPalace': const RectRegion(
          startRank: Bishop.rank1,
          endRank: Bishop.rank3,
          startFile: Bishop.fileD,
          endFile: Bishop.fileF,
        ),
        'blackPalace': const RectRegion(
          startRank: Bishop.rank8,
          endRank: Bishop.rank10,
          startFile: Bishop.fileD,
          endFile: Bishop.fileF,
        ),
      },
      actions: [Action.flyingGenerals()],
    );