@minofrk/xelto-diagram-canvas
Version:
An implementation of <xelto-diagram> in TypeScript.
39 lines (33 loc) • 1.17 kB
text/typescript
import { Image } from '../../../types';
import makeImage from './make-image';
import { Captive } from './types';
import { makeErrorPieceImage } from '../make-piece-image';
import {
iterateUpperCaptiveLeftTops,
iterateLowerCaptiveLeftTops,
txifolSize,
} from './areas';
export function* makeUpperCaptiveImage(captives: Captive): Image {
yield* makeImage(captives, iterateUpperCaptiveLeftTops);
}
export function* makeLowerCaptiveImage(captives: Captive): Image {
yield* makeImage(captives, iterateLowerCaptiveLeftTops);
}
export function* makeAllErrorCaptiveImage(): Image {
// 持ち駒
for (const leftTop of iterateUpperCaptiveLeftTops.txifol()) {
yield* makeErrorPieceImage({ leftTop, size: txifolSize });
}
for (const leftTop of iterateLowerCaptiveLeftTops.txifol()) {
yield* makeErrorPieceImage({ leftTop, size: txifolSize });
}
// 張っている駒
yield* makeErrorPieceImage({
leftTop: iterateUpperCaptiveLeftTops.evol,
size: { x: 2, y: 2 },
});
yield* makeErrorPieceImage({
leftTop: iterateLowerCaptiveLeftTops.evol,
size: { x: 2, y: 2 },
});
}