Numvil
数字と記号のパーツを「式」に並べて「題」の数を作る計算パズル

名前は num(数)+ anvil(金床)=「数を鍛えて組み立てる」より。
どんなゲーム?
- 「題」に表示された数を、数字や記号の「パーツ」を並べた式で作る計算パズル。
- 画面は「題」「パーツ」「式」「結果」の4つのエリアに分かれています。
- 式を組み立てると計算結果がその場で表示され、題の数と一致するとクリア。
操作
- パーツ(0-9 と ( ) ! + - / * ^)をドラッグ/タップで「式」に並べる。
- 式の中に置いたパーツはドラッグで並べ替えできる。
- 「Clear all」で式をリセット、「New」で次の問題、「Give up」で解答例を表示。
ルール
- パーツは各1個ずつ。1つの式の中で同じパーツは1回しか使えない。
- 数字を2つ並べて2桁以上の数(例:1 と 0 で 10)を作ることはできない。
- 計算の順序はふつうの数学と同じ(階乗 ! → べき乗 ^ → かけ算・わり算 → たし算・ひき算)。
- どの問題にも、必ず正解となる式が1つ以上あります。
モードと難易度
- Endless(エンドレス)/ Challenge(チャレンジ)のモードを切り替え。
- Endlessモードの難易度は Easy / Normal / Expert の3段階。
- Challengeモードは レベル1~5まであり、各レベルは 10 問で構成。
技術情報
- Svelte 5(runes)+ Vite 7 で構築。UI は Flowbite Svelte + Tailwind CSS 4。
- バックエンドを持たない静的サイト。式の評価と問題の生成は自前の計算エンジン(JavaScript)で、ブラウザの中だけで完結します。
- Challengeモードの問題集は、種を固定した乱数で事前に生成(5レベル × 各10問)。クリア履歴はブラウザの localStorage に保存。
- GitHub Actions で main への push ごとに、計算エンジンのテスト → ビルド → GitHub Pages への配信を自動で行います。
- ライセンスは MIT。