memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

ナンプレ解答支援アプリ、まだまだ途中...

まえおき

数日前に家族が暇つぶしにナンプレ雑誌を買ってやっていました。面白そうだったので1つやらせてもらいました。初心者用です。夕食を取りながら軽くできるだろうと思っていたらできず。。。風呂入って皆が寝静まったあと食卓テーブルで一人モクモクとやり始めました。紙に書いて消しては相当に面倒だったのでExcelに入力してやりはじめました。別に対したものではなく、とりあえず、縦横が揃っているかチェックするくらいは自動でやってほしかったので作っただけです。

結局、1時間くらいかかってやっとできました。あちらを立てればこちらが立たず。。。を繰り返しているうちに偶然にはまりました。よかったです。朝起きて「昨日のできた?」と言われたときに「できたよ😀」と答えられたので父の威厳!?が保たれた感じがしました。嘘です。

もう少し楽にできないか?

数独の問題には、最初から数字がいくつか入っていて、縦・横と9個のゾーンで1〜9の使われていない数字をいれていく組み合わせ問題的なパズルと思います。

候補は自動的に決まりますので、あとはその候補からどの数字を選択していくか?がゲームでやることになるはずです。

上記のExcelシートじゃないですが、1〜9の数字が入っているだろうかとチェックすることと、どの数字が候補に成りうるのかを目で見て把握する必要がありますので、ここが脳トレ的な作業なのでしょうけど、ここは本質的な作業ではないのでできれば除去したいな。。。と思ったのでした。

これなら作れるよなぁ。。。と。最初はRubyで作ったのですが、やっぱインタラクティブにした方が実用性あるしなとp5jsに移植しました。昨日の行きの電車内で作りはじめ。昨日は明るいうちに帰宅したので帰りに飲みながらコーディングとかしたい気分になり、筑紫口のプロントに立ち寄ってみました。

場所はまあまあだったのですがなぜかビールがなくてガッカリでしたが。途中でわけのわからない動作になり(ハッシュのキーが文字列なので間違っていて気づかなかった)少し酔っ払っていたせいで集中もできずそのまま帰宅しました。

その後、また、自宅の食卓テーブルで続きをやり。。。とりあえず当初考えたものができたところでした。見にくいですが、赤文字がもともと入っている数字で、81マスのそれぞれに入力可能な選択肢の数字を描画しています。その数字をクリックすると選択したことになって、その他の選択肢が見え消し状態になります。

以下、p5jseditorです。汚いコードですが。とりあえず。

editor.p5js.org

最近、なかなかプログラムを作って楽しもうという気が起きず、何かしたいな。。。とだけ思っていました。とりあえず楽しい時間が過ごせました。

学生の就活支援とかしていてもつくづく思います。人の心って何に影響を受けるんでしょうね。。。

この数独じゃないですが、何かがキッカケになるんです。今まで色々なモノを作ってきましたが(偉そうですね、そんなたいしたものではないですが)、ダラダラと過ごしてしまうときがある一方で、無性に何か作りたくなるときもあります。

色々と無駄に手を出して「これってこんなもんだな」と思ってしまう自分がいて、どんどん何かをするのが億劫になっていくのを実感します。新しいこともあまり勉強できていません。こうやって考えが固まっていくんでしょうね。老害の始まりです。

本日の授業の出囃子トークで上記のことを話しました。色々と習っているけど何か具体的にやりはじめるときってあるはずで、些細なことですが、こんなことでもキッカケになればな、と思ってのことです。自慢ばなしにしか聞こえなかったかもですけどね💦 僕は楽しかった。皆さん自身もITで自分で何かして満足感と面白さを味わって欲しい、ただそれだけなんですけどね。。。

数独アプリはまだまだです。入力インタフェースもありませんし。制約条件を満たしているかチェックもできていません。とりあえず勢いで作っているのでデータ構造ももっと楽に管理できる方法があるような気もします。いつもはここに書いたら記憶から消されてしまうのですが、せっかくなのでもう少し遊んでみたいですし、できたらアプリ化とかしてPlayストアとかにアップしてみたいですね。

でわ。