知識ゼロから未開のC#を開発してみる//第1部#0

command

大型シリーズ(予定)ついに始動!

 始まりは、前触れもなく突然に・・・。

ある日ふと、プログラミングというカッコいい趣味にいそしんでみたい気持ちが、初夏の入道雲のように湧き上がってきました。

さっそく、数あるプログラミング言語の中で、とりあえず初心者にもとっつきやすそうなC#に目をつけて、学んでみようと思ったわけなのですが。

1から10までいきなり憶えようとしても辛いので、なにかプログラムを実際に作りながら学ぶのが良さそうに思えるし、モチベーション維持のためにも開発日誌的な記事として進展の一部始終を公開してみよう、というのが今回の記事の企みです。

 

当然ながら、現時点では本当に無知に等しく、プログラミング入門を指南してくれるこちらのサイトにサラッと目を通して、Microsoft Visual Studio 2010 Expressで「Hello World!」を表示させた、初歩中の初歩の頭まっさら状態なのですが、はてさてプログラミングの世界を探検していけるのかどうか、今後の展開を見守っていただければ幸いです。

おそらく、思いもよらない所で壁にぶち当たってふて腐れたり、なんでそんなことが解らないのかと、イライラやきもきさせること請け合いですが、そんなことも含めてご笑覧くださいませ。

さて、前口上はこのへんにして、本題である「どんなプログラムを作ってみるのか?」について、まとめていきましょう。

 

ズバリ! 今回作ってみようと考えているプログラムは・・・。

 

「自動なぞかけ整えマシーン壱号」です!

 

名前でだいたいの機能が解るかもしれませんが、お題を入力するだけで瞬時になぞかけを整えてくれるプログラムを作ってみようというわけです。

すでに、なぞかけブームも旬を過ぎている感はありますが、シンプルで楽しいアプリとして、スマートフォンに入れておきたいと考えるうつけ者どもから人気殺到になってしまう夢を見ながら、逞しくプログラミングの道を突き進んでいきましょう!

 

実装する仕様の説明のために、まず「なぞかけを組み立てるアルゴリズム」をどう考えているかから、まとめていきます。

私が考えるに、なぞかけを効率的に整える方法は、「お題」から「連想(そのこころ)」を行い、連想したものの「同類項(~ととく)」を提示するやり方が一番無駄がないはずです。

 

たとえば、「犬」というお題でなぞかけしてみましょう。「犬」から連想する要素が「鼻が敏感」だとして、「鼻が敏感」というイメージに含まれる別のものを探します。そのとき、「犬」からは出来るだけ遠いところのものを見つけてくると、意外性の高いなぞかけを作ることが出来ます(犬は動物なので、動物以外の鼻が敏感なものを考える等)。「鼻が敏感」といば、ワインの産地を嗅ぎ分けるソムリエ。と、考えたりして、「犬とかけまして、ソムリエととく、そのこころは、どちらも鼻が自慢です」みたいな、なぞかけが整います。

 

そして、こうしたなぞかけの手順を、お題を記入するだけの手間いらずに済ませてくれるプログラムを、今回作ってみようと考えてるわけなのです。

というわけで、なぞかけの手順を行うプログラムの要件をまとめるべく、しばし考えてみたのですが・・・。

  1. 「お題」を自由に記入してもらう
  2. 「お題」として記入したものの「属性」を選択してもらう(かわいい/熱い/高価 等)
  3. 「お題」として記入したものの「グループ」を選択してもらう。(人/道具/団体 等)
  4. 「お題」の「グループ」以外のデータに絞り込みをかける
  5. 「お題」の「属性」でさら絞り込んだデータベース内の「とく言葉」を拾ってくる
  6. 「属性」に対応した、なぞかけのフォーマットに整える
  7. 完成したなぞかけを出力(次候補、次々候補とあわせて三パターンくらいでもいいかも)

というように、なぞかけの精度を考えた結果、あんまり自動でもないような形になってしまいそうだし、プログラミングよりも、「属性」と「グループ」の分け方のセンス、汎用度の高いなぞかけフォーマットの考案、データベースに出来る限り多くの言葉を登録しておく作業など、それ以外の部分での苦労を書き綴る記事になってしまいそうなので、もっとスマートに機能を実現できるようなアイデアを練らないといけないような気もしてきます。

 

そんなこんなで悩み始めて、プログラミングの旅に出てゆく出発前夜ですでに挫折しそうな気配も漂わせながら、序章を締めくくりたいと思います。

 

果たして次回は順調にプログラミング作業が始まるのかどうか!?

刮目して相待すべし。

タグ: , ,





コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です



Twitterであらまほをフォローしてください