scramby
Version:
Generates scrambles for twisty puzzles.
37 lines (28 loc) • 1.24 kB
JavaScript
#!/usr/bin/env node
'use strict';
var scramby = require('.');
var meow = require('meow');
var _require = require('chalk'),
red = _require.red;
var template = '\n Usage\n $ scramby\n\n Options\n --puzzle, -p Specify which puzzle you want a scramble for (222 - 777).\n --count, -c The amount of scrambles you want.\n\n Examples\n $ scramby\n F L2 B\' D2 F\' R2 U2 F\' L2 B2 F\' R\' F\' R\' D R\' D R U F\' R\n\n $ scramby -c 2\n F\' D2 B L2 F D2 U2 B F2 U2 F L F U2 R D2 U\' R B L2 F\'\n U2 R\' D2 L\' F2 D2 L D2 F2 D2 L B\' D U2 B2 L F L B R U\'\n\n $ scramby -p 222 -c 2\n F U F\' U2 R U F R\' F\n U\' R\' U R F R\' F2 R\'\n';
var options = {
alias: {
p: 'puzzle',
c: 'count'
}
};
var cli = meow(template, options);
var _cli$flags = cli.flags,
puzzle = _cli$flags.puzzle,
_cli$flags$count = _cli$flags.count,
count = _cli$flags$count === undefined ? 1 : _cli$flags$count;
try {
var scrambler = scramby(puzzle);
var scrambles = [];
for (var i = 0; i < count; i++) {
scrambles.push(scrambler.getRandomScramble().scrambleString);
}
console.log(scrambles.join('\n'));
} catch (err) {
console.error(red(err.message));
}