第10話 自作プログラムに挑戦・作成と実行、そして――
さて……軽い気持ちで引き受けた仕事が、とんでもないことになっていた。
広いダンスホールの床は、真っ白なタイルだらけ。
これを日付が変わるまでに、全部青に塗らないといけない。
思わず、まとめて雑に塗りたくなる。
でも、タイルの継ぎ目に塗料が入るとそこだけ色が変わる。
手抜きは、あのお嬢様に隙を与えるだけだ。
だから、はみ出しなし。ムラなし。塗り残しなし。
素人目でも文句を言わせない品質が前提になる。
なのにノルマは、五時間で百枚。しかも作業員は僕一人。
どう考えても絶望的だ。
昨日までなら、きっと泣きそうになっていた。
でも、今日の僕は一味違う。
「ヘルプ。聞こえるかい?」
「はい、マスター」
返事と同時に、タブレットからヘルプがすうっと飛び出す。
危機なのは間違いない。だけど、チャンスでもある。
プログラミングの性能を試す、最高の舞台だ。
「床タイルをはみ出さずに塗りたい。数は100。ムラも塗り残しもなし。制限時間は五時間。いけるかな」
「もちろんですわ。その程度なら余裕です!」
ヘルプはにこっと笑う。
どうしてそこまで信頼してくれるのかは分からない。
でも今は、その笑顔が頼もしかった。
「良かった。じゃあ次の確認だ。平時プログラムだと、作業者が動くんだよね。どんな感じ?」
ヘルプは胸を張る。
話すより見せたいらしい。
「聞くより見た方が早いです。あと、プログラムが楽しくなるのも保証しますよ」
知識として知っていても、やってみないと分からない。
特に平時は、僕の身体が動くわけじゃない。
作業者という存在が命令を実行するらしい。
「楽しみだな。じゃあ、まずは『タイル塗り』を身につけるところからだ」
ヘルプはうんうんと頷く。
大事な順序らしい。
「はい、その通りです。早く身につけられるよう頑張りましょうです!」
対象は、体験してスキル化しないと命令に使えない。
塗装なんて当然、今の僕は未習得だ。
まずは自分の手で塗って、覚える必要がある。
当たり前だ。知らないのに指示は出せない。
でもここで手間取ると、全体が崩れる。
僕は刷毛を握り、木桶に軽く浸した。
目の前には、まっさらな百枚のタイル。
逃げ場はない。だから、声に出す。
「よし、やるぞ!」
地味だけど熱い夜が、今始まった。
*
「うーん……これは……どうだろう」
三十分かけて、ようやく一枚目が終わった。
丁寧にやったつもりだ。けれど自信がない。
僕はタブレットの対象一覧を開く。
「あ、あった。でも……LV1かあ……」
<NEW! タイル塗り LV1>。
時間をかけたのに最低レベルなのは悔しい。
でも、今は贅沢を言っていられない。
僕はすぐにプログラム画面を開く。
実行条件を「実行ボタン」にして、命令文を書き込む。
意味は分かる。だが、動きの実感はまだない。
アイディたちは口を出さない。
黙って見ているだけだ。
もうチュートリアルは終わり、ということだろう。
「うーん。本当にこれで大丈夫かなあ……」
僕が初めて一人で組んだプログラムは、やけに素朴だった。
『命令:<繰り返し:100回>』
『繰り返し開始』
『命令:タイル塗り』
『繰り返し終端』
百回ループして、ひたすら塗る。
動く想定としては、それだけだ。
けれど、ふと指が止まる。
「……百回じゃないな。一枚はもう塗った。残りは九十九回だ」
軽いミスに気づいて、回数を直す。
これで見える不具合は潰した。
あとは実行を押すだけ。
なのに、妙に引っかかる。
手のひらが、少し汗ばんでいた。
「迷っても仕方ない。まずは……やってみよう」
僕は実行をタップした。
すると画面の中央に、片開きのドアが現れた。
ガチャっと開き、中から小人が飛び出してくる。
手のひらサイズの、小人たちだ。
「おお……小人だ」
「シゴトダー! シゴト、シゴト! キョウモオシゴト、ガンバルゾー!」
七人いる。体格は少しずつ違う。
でも服装はみんな同じだ。
緑のチョッキに茶のズボン。赤いナイトキャップ。
小人たちは横一列に並んで着地した。
肩のカバンから刷毛を取り出す。
そして塗料のバケツを、軽々ジャンプで飛び越えた。
飛び越えながら、器用に刷毛へ塗料を付けていく。
無駄がない。見ていて気持ちいい。
「そうか。君たちが作業者なんだね」
「シゴトハ、オイラタチニ マカセロ!」
小人たちはタイルへ走った。
そして、凄まじい速さで手を動かし始める。
青が水滴みたいに広がり、白を飲み込んでいった。
数十秒で、一枚が真っ青になる。
僕の三十分はいったい何だったんだ。
「もう終わった! 凄すぎる!」
出来栄えはLV1相当だ。僕の一枚と差はない。
でも速度が桁違いだ。比べ物にならない。
これならいける。いけるはずだ。
残る問題は、僕のプログラムが正しく回るか。
一枚終わったら、次の白へ移動して塗る。
想定は単純だ。
「ニカイメー、イクゾー!」
小人たちはバケツへ戻り、塗料を付け直す。
そして次のタイルへ……行かない。
彼らは、今塗ったばかりのタイルへ向かった。
真ん中へ集まって、また塗り始める。
いや、そこはもう終わってる。
「待って待って! そこじゃない! 中断! 中断!」
僕は慌てて中断を差し込む。
小人たちはピタッと止まり、声を揃えた。
「チュウダーン!」
次の瞬間、七人はぞろぞろとタブレットへ戻っていく。
ドアが閉まり、画面は静かになった。
「えええぇ……なんだったんだ、あれ……」
原因は自分だ。自作なんだから当たり前だ。
なのに僕は、他人事みたいに呟いていた。
一瞬うまくいった分だけ、余計にモヤモヤする。
(がっはっは! やったな。見事な初バグだったぜ!)
「バグ……これが?」
プログラムが想定通りに動かない。
その原因になっている部分を、バグと呼ぶ。
つまり僕の作った中に欠陥がある、ってことだ。
「はい、これは間違いなくバグですわ。ですがプログラムには付き物です」
ヘルプは落ち着いた口調で続けた。
慰めのつもりなのか、やけに名言っぽい。
「一度もバグが出ないものは、逆に疑え。そんな格言もあるくらいですよ」
(ああ。テストが甘いだけの駄作だな)
アイディが鼻で笑う。
この顔は絶対、面白がっている。
「さあマスター。張り切って直しましょうです」
欠陥なんて無い方がいい。
でも、プログラムの世界はそうでもないらしい。
とはいえ上手くいかないのは、やっぱり悔しい。
落ち着いて、状況を整理しよう。
一周目は想定通りに動いた。
二周目は同じ場所を塗り直した。
放っておけば九十九回、同じ場所を塗る。
つまり、彼らは忠実に命令を守っただけだ。
勝手に気を利かせてはくれない。
「なるほど。命令が足りてないんだな」
僕はタイルを見て、息を吐く。
どこを塗るか、条件が抜けていた。
なら、条件を追加すればいい。
「繰り返しの中に判断を入れる。そうすれば次へ進むはずだ」
僕は指を忙しく動かした。
思いついた案を、そのまま形にする。
書き換えた内容は、ざっくりこうだ。
『命令:<繰り返し:98回>』
『繰り返し開始』
『命令:<条件>』
『条件式:<最も近い><タイル>が<塗り終わっていない>とき』
『真のとき:<タイル塗り>』
『偽のとき:<次に近いタイルへ移動>』
『繰り返し終端』
まだ少し引っかかる。
でも悩んでる時間はない。
僕は二度目の実行を押した。
小人たちが、さっきと同じように飛び出す。
まずは一枚目。目の前の白を塗る。
問題は、その次だ。
塗り終えた。
そして――小人たちは次の白へ移動した。
「やった! 上手くいった!」
僕は思わず拳を握る。
二枚目、三枚目。勢いが止まらない。
青が白を追い立てていく。
「見てよ二人とも。これ、僕が作ったんだ」
胸の奥が、熱くなった。
考えて、直して、動いた。
それだけで、世界が広がった気がした。
でも、喜んでいたのは僕だけだった。
(うーん。三十点)
アイディが腕を組み、渋い顔をする。
そんな点数の付け方ある?と思った瞬間。
「そ、そんな。せめて五十点は……」
ヘルプが必死に食い下がる。
だけど、アイディは聞いちゃいない。
(おおっと。そろそろ来るかー?)
妙に楽しそうな声。
嫌な予感が背中を叩く。
(ああマスター。黙っていたのを許してくださいです)
ヘルプの声が、急に真面目になる。
「あれ……色が薄い?」
その直後、僕の目が木桶を捉えた。
「――って、塗料がもう無い!」
塗料切れに気づいた瞬間だった。
小人たちが一斉にこちらを向く。
そして両目が、ピカッと光った。
(ジッコウフノウ《エラー》ッ!)
「あだっ!!」
バシッという音と衝撃。
僕は飛び上がり、尻もちをついた。
小人たちは「チュウダーン!」と叫んで戻っていく。
(ケケケ。やーると思ったぜー)
「い、今のは何?」
僕が睨むと、アイディは楽しそうに答える。
(今のが『実行不能』ってやつさ)
矛盾や実行できない内容があると起きる現象。
今回は塗料切れで、『塗れ』の命令なのに『塗れない』という、物理的に実行不能になった。
うん、まあ、理屈は分かる。分かるけど。
「……でも、判断を入れる発想は素晴らしいです。十分すぎる成長だと思うです!」
「あ、ありがとう……」
ヘルプのフォローに救われる。
僕は立ち上がり、空の木桶を持った。
塗料樽へ向かいながら、頭を回す。
「塗料チェックも条件に入れるべきか。どの頻度がいいんだろう」
半分? 三分の一?
頻繁すぎると効率が落ちる。
でも遅いと、また光線が来る。
(かっかっか。悩め悩め。それが一番うめえ所なんだよ)
アイディは本当に楽しそうだった。
腹は立たない。不思議なくらい。
僕も少し、その気持ちが分かってきた。
こうして転びながら、形にしていく。
使いこなせたら、冒険にも絶対役立つ。
陣地構築や罠の調査にも応用できそうだ。
気づけば、笑っていた。
よし。完成までもう一息。
僕は塗料を補充し、また画面に向き直った。
ここまで読んでくださり、ありがとうございます!
☆やブクマして頂けますと作者のやる気が100倍になる!…かもしれません。
軌道に乗ればこちらの作品も挿絵を入れていきたいと思います。
どうかよろしくお願いします!!




