中間時点(#12の課題3)での優秀作品

クラス1の途中課題(12-3)の優秀作品 6 本についてコメント付きで掲載しておきます。 なおタイトルは担当した教員が勝手に付けたものです。 順不同で並んでいます。
ところでこれらのプログラム、短いものもありますが 200 行を超えるものが幾つもあります。 無駄に長いものもあるとは言え、誰もがこうした長いプログラムを相手に格闘する練習を積む必要があります。 最初から長いプログラムを書く事を想像していなかった人は、これらの結果を見て感じるものがあると思います。
なお配列を用いたものが幾つかありますが、授業ではこの課題が提示された後にやっています。 自習で先行したか、締切前にはやったので、それを反映させてくれたのでしょう。

ボールが筋書に沿って移動する

ボールがあらかじめ決められた筋書き(ストーリー、あるいはシナリオといったもの)に沿って移動するアニメーションです。 こういった筋書きを追わせることは結構面倒なのですが、作者は力ずくで実現しています。 結果的に長いプログラムになっており、技術的には余りほめられたものではありませんが、しかしこの「長いプログラムを根気よく書き続ける」努力はプログラミングにはどうしても必要になるものです。 がんばりました。
anime.c
分裂するボール

白いボールが壁に当たるたびに波紋を作り、数が増えていきます。 300 までくるとかなり騒々しいことになりますが、見ていて面白いです。 波紋を出しながら他のボールは移動する(複数のものが同時並行に移動する)のを実現するのはこれまでやったものからは1つの飛躍があるのですが、うまくこなしています。 キーあるいはマウスボタンを押すと、表示が変わります。
bounce.c
ブレイクショット

ビリヤードのブレイクショットです。 これはまともにやると本気の物理シミュレーションが必要になる、また、それでも非常に難しい、大変なテーマです。 さすがに本人もそれは無理だと思ったようで、衝突時の処理は物理的な事象を追わずに済ませています。 それにしてもテーマの選定、実現までいろいろ悩み、頑張ったと思います。 特に最後まで仕上げた、ということは非常に良い事です。
bounceme.c
はなまる

見てのとおり、花丸を描く、ただそれだけです。 が、実際にこのできあがりの図形を見て、どのようにすればこのらせんが描けるか、どのようにすればこの花びらが描けるか、考えてみてください。 プログラムは非常に簡潔で、きちんと計算しています。 腰を据えて計算し、方式を明確にしてからコードに落とす、といった作業がちゃんとできていることの証拠が、このプログラムです。 ぜひ読んでみてください。
hanamaru.c
ピンポン

自動ピンポンです。 うまく動き、見ていて面白いです。 どうやったらこのような動きを組めるのか、よく考えながらプログラムを読むと良いでしょう。 なおプログラムはミスをしないので、このプログラムは終わらないのですが,それでは困るので特別な処理をして終わらせています。
pingpong.c
波紋

もうとにかくきれいです。 そしてそのきれいさが、ほんの僅かの工夫から来ている事、110 行という非常に短いプログラムから生まれている事を感じてください。
watordrop.c

<<Back