以前、ブラウザ内で動くSATソルバーを使ってパズルのソルバーを作っていましたが、じつは表示&入力部分を作るほうが圧倒的に面倒だということもあって、しばらく放置していました。最近知ったRiotを使えば、このあたりの複雑性もなんとかなりそうだと思ったので、アルゴリズム自体に悩むことがほぼない数独で試作してみました(https://jkr2255.github.io/js_puzzle_solvers/sudoku.html)。 入力&表示部分 今までは、「内部的な盤面データ」と「表示」を連動させる処理にてこずっていたのですが、Riotを使えば、内部用のデータを書き換えるだけで、あとは.updateすれば表示は適宜書き換えてくれます。マス目自体は<table>で適宜CSSをかけて表現しています。 ビルド方法 JavaScriptのビルドシステムをbrowserify+rakeで組んでいたのですが