実況パズルプログラミング連載開始
<< Back | -- Index -- | Next >> |
---|
パズルアプリケーションを作成します。 作成過程で思ったこと、考えたこと、検討したことなどをブログ風に書いていく予定です。「30日でできる!OS自作入門」という本がありましたが、そんな感じを目指しています。 本当は「30日でできる!CADアプリケーション作成」にしたかったのですが、それではあまり興味を持ってもらえないと思いパズルアプリケーションにしました。
この記事の第一の目的はプログラム作成の過程を公開することです。 私は一応フリーランスのプログラマーですがエキスパートではありません。 だいたい独学でひとりよがりのプログラムを書いています。 コードレビューしてくれる人もいません。 コードを公開してコメントをいただいてスキルアップしようという思いもあります。
作成するプログラム
ペンシルパズルというパズルのジャンルがあります。 迷路、クロスワード、数独など鉛筆と消しゴムなどを使って解くパズルです。 問題を書いた紙とペンがあればいつでもどこでも遊べるのが魅力です。 ですがいつもPCの前に座っている人であれば事情が変わってきます。 問題をPCに画像として取り込んで、PC上で遊べた方が快適です。
PCにパズル画像を取り込んでPCで遊ぶデスクトップアプリケーションを作成します。 軌道修正はあると思いますが、現時点では次のような機能を考えています。
- パズル画像を取り込んで計算機上で遊べる機能
- REDO/UNDO機能
- 手動による問題のデジタル化機能
- 完成判定機能
- 解探索機能
その後の野望もいろいろあるのですがこれ以上大風呂敷を広げるのはやめておきます。
使用言語、開発環境など
開発言語はPythonです。 開発マシンはWindows10です。 Pythonが動けば開発マシンはMac, Linuxでも大丈夫だと思います。
ソース管理はGitHubを使います。 IDEはEclipseかVisual Studio Code(以下VSCodeと略する)を考えています。 ご自分でプログラムをいじってみたければ慣れたIDEを使ってください。
業務で使っていた言語は、昔Javaで今はC#です。 Pythonは入門書を読んだくらいの素人です。 なぜPythonを選んだかというとPythonの習得が個人的目的のひとつだからです。 将来的に画像処理機能とか、OCR機能とかも作成したいのでPythonが良いかなと思いました。 新しい言語を使うと話のネタも増えるかな、という思惑もあります。
Javaで開発していた時のIDEはEclipseでしたが、もう何年も使っていないです。C#の開発ではVisual Studioを使っていました。VSCodeはほとんど使ったことがないので素人です。IDEを何にするかは迷っています。
またバージョン管理システムは今までSubversionを使ってきました。 ですのでGitも素人ですしGitHubも素人です。 バグ管理システムは一時期Tracを使っていましたが一人で使っていたのでスキルはあまりありません。 しかもレンタルサーバーの事情でTracの使用は短期間で終わってしまいました。
おわりに
最初は本という形にしたかったのですが、まとまるまで時間がかかってしまいます。 モチベーションの維持もたいへんです。 そこで草稿というかブログというか、適当に書き始めてみることにしました。 区切りの良い所まで書ききって本という体裁にまとまると良いのですが。
細かいことは何も決まっていませんが手探り状態でぼちぼち始めて行こうと思っています。 次回の記事はいつになるかわかりませんがよろしくお願いします。
<< Back | -- Index -- | Next >> |
---|
Discussion