2話 『開発』 (1999年2月5日)
「なぁ、ハヤト。神薙さん、表彰されるんだってな」
隣の席に座るヤスタカが話し掛けてきた。
今は授業中ではあるが、皆周囲の人と相談しながら課題に取り組んでいるため、雑談に興じていても目立つことはない。
その課題――鶴亀算を作成せよ――は、うちの学校で定期的に実施されているプログラムの授業の課題だ。
珍しい科目の授業ではあるが、将来的に主流になるだろうとのことで、試験的に導入されている。
鶴亀算とは、合計の足の数を指定した時、足の数が2本の鶴と4本の亀はそれぞれ何体ずつか、という一般的な算数レベルの問題だ。
足の合計が判るのに頭数が判らないなんて、どんな状況かとも思うが、数字の世界に突っ込みをいれても仕方ないだろう。
とにかく、プログラミングの課題としてはそれなりの知識があれば容易に作成できるが、簡単すぎると言うことはない。
ただ作るだけなら誰でもできるが、奇数の数字やマイナスの数字、整数以外の数値等の異常値が指定された場合の処理等まで考慮していくと人によって品質の違いが出てくる。
「もういいのか?」
「あぁ、作り込み過ぎても良いと言うわけでもないしね。デバッグも完璧だしこれで提出する」
長谷川ヤスタカはプログラミング部なんて部活を作るくらいなので、この程度の課題なんて余裕だろう。
一応、俺も同じ部員として参加いるので正直余裕だ。
ヤスタカには及ばないがもう少しで完成する。
尚、ヤスタカの得意分野はプログラムというインドア派でありながら、がっちりとがたいが良い体型をしている。
親の方針か何かで武道系の何かを習っているらしいが、詳しくは聞いていない。
とにかく、そんなヤスタカの体型と俺の苗字の小瀬川が相まって、先生達から小さい方のセガワと呼ばれることがあるのは勘弁して貰いたいところだ。
「さて、ナズナの話だったな。実はニアミスしてました、なんて醜態を防いだわけだから表彰くらいされるだろう。あいつは天才だからいつかそんな偉業をするとは思っていたけど」
カタカタとキーボードを叩きながら、ちらりと目線を左前方の女子の集団に向ける。
そこでは、ナズナが周囲の女子に対してコーディング方法を説明している様子が見てとれる。
学問以外の分野であっても、人に教えられるだけの能力があるのは流石としか言いようがない。
「天才ねぇ。それはハヤトお前もだろ?」
「は? んなわけないだろ」
成績について言えば上の下程度で、確かに中の上であるヤスタカよりはやや良い方だ。
それも、ナズナとの会話により得られた謎知識に助けられている面が大きい。
少なくともナズナと並べられる程のレベルは持ち合わせていない。
「本人は気づいていないというやつだな。ほら、じゃあ今書いているそのコードを実行してみなよ」
「いや、まだ最後のおまけ部分ができてないんだが」
「いいからやってみ」
最後まで書いてから実行するのが個人的な趣味なのだが仕方ない。
書きかけの部分をコメントアウトして実行ボタンを押してみる。
すると、モニタ上には想定通りの表示がされる結果となった。
特別違和感は無い。
「ハヤト。これが異常なことだと判らんか?」
「うーん。ちょっと動きが想定よりもっさりしているか。バグだろうか」
映っているのは鶴と亀だ。
数字だけだと画面が寂しいと思って画像表示を組み込んでみたところだ。
微妙なところだが、拡張性を考慮すれば課題の趣旨にも合っているだろう。
「なんでアニメーションなんか作っているのかは置いておいて、これGIFとかでなく全部コードだろ? これだけ複雑なプログラムが何故初回で動く」
「何故って……そりゃあ頭の中でデバッグしているんだからコードに落としてもそれなりに動くだろう……って、そんなわけないか。ほら、早速バグったぞ、致命的に」
線で描いていた羽ばたく折鶴だが、泳いでいた亀に衝突した瞬間にその姿は綻びて霧散してしまった。
それぞれの折鶴を構成していた線は画面内で自由に跳ね回り続けている。
「いや、普通そこまでバグっていたら、そこで致命的なエラーではなく予期せぬエラーが発生しないとおかしいだろ。俺は嫌だぞ、お前のプログラムをデバッグするの」
「うーむ。そういうものかねぇ」
致命的なエラーとは仕様外動作バグの発生時のエラーで、予期せぬエラーとは動作不能バグの発生時のエラーである。
どちらかと言えば前者の方がマシなのではと考えるが、他の人のプログラムとの比較までしたことがないのでよく判らない。
「とりあえず、このバグを直すか。いやー、授業中に終わるかな」
恐らくは、鶴を1つの塊として扱わず、線ごとに衝突判定や反転処理を組み込んだのが悪さしているのだろう。
亀の方はのっそりとさせるために、腕や甲羅等のブロック単位で構成させていたので、鶴の方がダメージが大きかったものと思われる。
ブロックを構成する関数を転用すれば早いだろうか。
もしくは、いっそ作り直してしまう方が良いかもしれない。
「ところでハヤト。おまけってのは何を作るつもりだったんだ?」
「ん? あぁ、この鶴と亀の表示数を外部入力で決めさせる処理――つまり、鶴亀算だな」
「はぁ……俺が言えた事じゃないが、それがお前が成績上位になれない理由だぞ」
ヤスタカが溜め息と共に、目を閉じて頭を押さえる。
その仕草を見て、ヤスタカが何を言わんとしているかを理解――いや、思い出した。
あぁ、そうか、それが課題だったな。