見出し画像

C#で作る数独解析ツール【個人アプリ開発インタビュー】

こんにちは!
株式会社テクトレでTechCommitを運営している小田川です。

今回はオリジナルアプリ開発者インタビューということで、
数独解析ツールを開発された、たっきーさんにお話を伺いました。

プログラミング言語っていろいろあって、どの言語で何が作れるのかよくわからない
といった方はぜひ一つの例として参考にしてみてください!

たっきーさんのプロフィール

たっきーさん(42)@n2_takiはエンジニア歴約20年のベテランさんです。
現在まで使用言語はC、C++、C#、Java、PHP、Javascriptなどなど、そして経験業界も携帯電話や自動車業界など多岐に渡ります。

数独解析ツールを作ったきっかけはTechCommit

ー 数独解析ツールを作ったきっかけはあったのですか?

TechCommitのSlackの雑談チャンネルで、"とあるスクールの課題で数独を解く"というのが話題になっていたのがきっかけです。
自分もやってみたい、さらにそれを作る過程をブログに公開したいと思って始めたのがきっかけでした。

👉 TechCommitでは入会したメンバー専用のSlackがあり、学習方法の相談や開発中のオリジナルアプリの進捗報告など日々様々な話をしています。

ー 似たようなツールって既にあるのですか?

探してみたらありました。
だからといって、作るのをやめようとは思わなかったです。
自分の学習のためにもなりますし、少し作り方を工夫すればオリジナルですし!

ー どうやったら使えますか?

GitHubにzipファイルがあるので、ダウンロードして解凍してもらえばすぐにできますよ!

▼早速私もダウンロードして使ってみました

(ぬぉぉおおお💥💥💥ホントに一瞬で解答ができる❗)

ー これ懸賞に応募しまくれますよね?

そうですね(^^)応募しまくってます!

でも一回も当選したことないんですよ。。

(www)

壁にぶち当たり制作期間の半分を費やすことに

ー 使用しているプログラミング言語は何ですか?

言語はC#ですね。
選んだ理由はWindowsで手っ取り早く使えるし、使い慣れているからです。

ー ロジックが難しそうですが...

...難しかったです(^_^;)
特に難しかったことといえば、
マスの中に入りうる数字を仮置きして、それが合っているかを確認していくパターンは一番難しかったです(通称:置いてみたロジック)。
2ヶ月の制作期間のうち半分くらい費やしました。

(確かに私も数独にハマっていた時期があったのですが、
難しい問題になると数字を仮に当てはめて解いていた気がします。)

ー 人間が数独を解く流れをプログラムに落とし込むということですね!

そうなんです。
でもそれが難しいんですよ。
やっていることは3つなんですが、口頭で説明するのは難しいのでブログにでもまとめようかなと思います。

▼制作中もブログにまとめられていますね!

UIにゲーム用のライブラリを使って操作しやすく

ー ロジックの他には何か工夫した点はありますか?

UIを工夫しました。
C#だとWPFなどを使って開発するパターンがあるのですが、
コンボボックスがたくさん出てきて操作がしにくいかなと思ったので、
あえてゲーム用のUIライブラリAltseedを使ってみました
マウスだけでポチポチ操作できるように。

WPF(Windows Presentation Foundation)
デスクトップ クライアント アプリケーションを作成する UI フレームワークです。(出典:WPF とは - Visual Studio
Altseed
複数のプログラミング言語に対応したゲームエンジンです。C++、C#、Javaといった複数のプログラミング言語で 同じゲームエンジンを用いて開発できます。プログラミング言語が異なってもほとんど同じ記述でゲームを開発できます。(出典:ゲームエンジン - Altseed -

UIを作っていて思ったのが、UI周りって難しい..というよりはめんどくさいですね(^_^;)
こんなにもめんどくさかったのかって思いました!

(すごくわかります!とはいえ使い勝手に関係する大切な部分ではありますからね。)

UIの部品同士(オブジェクト)の間でどうデータをやり取りすればいいのか考えるのが難しかったです。

数独の次は...

ー 今後は改良したりするのですか?

いえ、一応この数独解析ツールはこれで完成なので今は次のツール開発に挑戦しているところです。

(次のツールとは??)

ピクロスです(笑)

(また懸賞系なんですね(笑))

まとめ

たっきーさんにお話を伺ったり、ブログも覗かせていただいたりして、
モノづくりが本当に好きな方なのだなということを強く感じました。

既に似たようなツール、サービスがあったとしても、
面白そうだから勉強がてらとりあえず作ってみよう
という気持ちは大切にしたいと思います。

たっきーさん、ありがとうございました!

TechCommitでは個人アプリ開発・学習仲間を募集中です。
今後もオリジナルアプリを開発したメンバーのお話を『個人アプリ開発インタビューマガジン』にまとめていきますので、よろしければフォローもぜひお願いします。

もし少しでも役に立った、面白いなと思ってくださったら、「スキ」や「フォロー」、「SNSシェア」で応援していただければ嬉しいです!


この記事が気に入ったらサポートをしてみませんか?