概要
- TypeScript で書かれています
- d.tsファイルを同梱しています
- テストカバレッジは99%です
- ルービックキューブの回転をシミュレートできます
- 回転記号の表記ゆれにも対応しています
インストール
npmで公開しています。
$ npm install @pandanoir/rubikscube
unpkgからダウンロードして使うこともできます。
<script src="https://unpkg.com/@pandanoir/rubikscube@0.1.0/dist/cube.js"></script>
TSで書かれています
すべてTSで書いてあります。そのため、型チェックによって快適に補完できます。たとえば、存在しない回転記号で回そうとすると型エラーが起こります。
const cube = new Cube(); cube.rotate('R'); // OK cube.rotate('Mw'); // Type error
かなり厳格に型をつけたので、使いやすいと思います。
表記ゆれにも対応
回転記号には統一された規格がないので、表記ゆれがあります。
Rw2'
Rw'2
R2'
R'2
本ライブラリはすべての表記に対応しています。
対応回転記号
- R, L, U, D, F, B
- M, S, E
- x, y, z
- (r), (u), (f)
また、それぞれ180度回転、反転、ワイド回転にも対応しています。
回転記号を一括で入力可能
たとえば J-perm をこのように入力できます。
cube.rotate('R', 'U', `R'`, `F'`,'R', 'U', `R'`, `U'`, `R'`, 'F', 'R2', `U'`, `R'`, `U'`)