最高傑作作成に当たって 『作成した理由』 最初、「最高傑作を作れ」、と言われたときに、どういうプログラムを作ればいいのかが、全く想像できなかった。 今までの課題は、大抵その週の講義でやったものの応用でできるものであり、 「こういうプログラムを作れ」、と明確に提示されている場合が多かったからだ。 なので、自分で考えて作れといわれても上手く想像できなかった。 しかし、今までに作ったプログラムを見なおしている内に、ある考えが閃いた。 while - end と if の条件分岐を 使って、簡単なゲームなら作れるのではないか、と。 それに、ゲームの作成にも以前から興味があったからだ。 それが今回のプログラムを作成した理由である。 『プログラム作成後の感想』 プログラムを作成し、実行できる段階に持ってきて、今のままのプログラムでは 色々と不備があることに気がついた。 全ての選択肢を while - end で囲んでいる影響で、redo が使えないことだ。 例えば、設問2で redo を使うと、設問1の問題に戻ってしまう。 なので、選択肢は break か 何もつけない、のニ択になってしまう。 next というものもあるようだが、よく使い方がわからなかった。 敢えて open file や外部からのデータを使わないプログラムにしてみたのだが もっと上手い、効率的な違うやり方があったのではないか、と思う。 今更言っても仕方が無いことではるのだが。 敢えてそういう仕組みにしたのであるが、途中疲れで挫けそうになった。 完走できて良かった。本当に。 『プログラム使用によってのメリット』 正直、ゲームなので実用性はない。あるとしても、暇つぶしぐらいにしかならな いだろう。 しかし、while - end を使うことによって、これ単品でもゲームを作ることがで きるのだと、証明できた、と考えている。 while - end の可能性を自分なりに解析できたのは大きい。 『技術について』 上記に書いてある通り、while - end と if - elsif - end が欠かせなかった。 それに加え、sleep で『ゲームっぽく』を意識した。 一瞬で表示されてしまっては、あまりゲームっぽくない。 タイムラグがあってこそ、ゲームらしさが出るのではないか、という考えである ので。 『今後の課題』 このプログラムは、正解が一つしか無く、他の二つを選ぶと強制的に break し てしまう。 しかし、初期の構想では、正解が複数あって、それぞれに物語が分岐して行く、 というのを想い描いていた。 例えば、設問2でAを選ぶとAに、Bを選ぶとBに、という風にしたかったのだ。 欲を言えば、更にそこから AからAの1に、Aの2に、という感じで更に分岐して行 く風だった。 しかし、それをするには知識も時間も圧倒的に足りなかった。 いずれはそんなことができるようなプログラムに進化させてみたい。