tps-ninja
Version:
Generate images from Tak Positional System (TPS) strings
47 lines (44 loc) • 2.33 kB
JavaScript
#!/usr/bin/env node
import { TPStoGIF } from "../src/index.js";
const options = process.argv.slice(process.argv[0] === "TPStoGIF" ? 1 : 2);
if (!options.length) {
console.log(
"Usage: TPStoGIF <TPS|board size> [OPTION=VALUE ...]\n" +
"TPS to GIF - Tak Positional System to Graphics Interchange Format\n\n" +
"Options:\n" +
" delay [integer] Milliseconds between frames (default 1000)\n" +
" theme [ID|JSON] Theme\n" +
" imageSize [xs|sm|md|lg|xl] Image size\n" +
" textSize [xs|sm|md|lg|xl] Text size\n" +
" transparent [true|false] Transparent background\n" +
" hlSquares [true|false] Highlight last ply's squares\n" +
" axisLabels [true|false] Show board coordinate labels\n" +
" turnIndicator [true|false] Show turn indicator and player names\n" +
" flatCounts [true|false] Show flat counts\n" +
" stackCounts [true|false] Show stack counts\n" +
" moveNumber [true|false|<number>] Show current move number\n" +
" komi [half-integer] Bonus points awarded to Player 2\n" +
" opening [swap|no-swap] Opening variations\n" +
" showRoads [true|false] Show road connections\n" +
" unplayedPieces [true|false] Show unplayed pieces\n" +
" padding [true|false] Pad the image\n\n" +
" name Filename of exported GIF, defaults to 'takboard.gif'\n" +
" player1 Name of Player 1\n" +
" player2 Name of Player 2\n" +
" hl PTN of a ply whose affected squares will be highlighted\n" +
" ply PTN of a ply to be executed\n" +
" plies Space- or comma-separated string of plies to be executed\n" +
" caps Override number of cap stones for both players\n" +
" flats Override number of flat stones for both players\n" +
" caps1 Override number of cap stones for Player 1\n" +
" flats1 Override number of flat stones for Player 1\n" +
" caps2 Override number of cap stones for Player 2\n" +
" flats2 Override number of flat stones for Player 2\n"
);
} else {
try {
TPStoGIF(options);
} catch (error) {
console.error(error);
}
}