Mahjong Solitaire with native Javascript ES6
ES6で書かれた麻雀ソリティアです。麻雀ソリティアは麻雀牌のペアを取り除くシンプルなゲームです。
https://onihei.github.io/msolitairejs
- ES6
- Enhanced Metafile (EMF)
- Canvas API
- Web Audio API
- Web Storage API
- バックトラッキング
自分のアルバムから持ってきた写真をPhotoshopで縮小しました。
Illustratorで出力した Enhanced Metafile (EMF)です。EMFは軽量でフォーマットが公開されている画像フォーマットです。ベジェ曲線も扱えます。Javascriptでベクター画像を再生するのにちょうどよいので採用しました。
EMF は Windowsのグラフィックスコンテキストへの操作をそのまま記録したようなフォーマットです。そのためベジェ曲線以外の機能を持っていますが、作成したパーサは必要な機能しかデコードしていません。
EMF はグラデーションの塗り潰しができません。グラデーションを使用したイラストを Illustrator で EMF に出力できますが、その部分はビットマップ画像になるので注意が必要です。
ベクター画像の作成には Illustrator と sketch を使用しました。
Platinumで出力したFMFファイルです。牌の配列をこれで作成しました。5つのレイヤーがあり、同じ位置の牌が重なるようにしました。 このファイルに記録しているのは配置場所だけです。実際に配置する麻雀牌は実行時に決定します。
パブリックドメインのmidiをガレージバンドで変換しました。