第11章 ループ地獄で抜け出せない勇者
おっきーはある日、新しい魔法の呪文「ループ」を学ぶことになった。レイからの指導で、ループは同じ処理を繰り返すための呪文であり、何度も同じコードを書く手間を省ける便利な仕組みだと聞いていた。
「ループを使えば、たとえば敵がいる限り攻撃を続けたり、アイテムを何度も拾う処理ができるようになるんだよ」とレイは説明した。
「なるほど、ループを使えば、もっと効率的に行動できるんですね!」とおっきーは興奮しながら話した。さっそくおっきーは簡単な攻撃のコードをループに組み込み、何度もモンスターにダメージを与えるプログラムを作ってみた。
しかし、問題が発生したのはその直後だった。おっきーが組んだコードは、何の条件もなく延々とループを繰り返し続け、モンスターを倒しても攻撃をやめない状態に陥ってしまったのだ。
「どうして…? モンスターはもう倒れたのに、コードが止まらない!」おっきーは焦りながら端末を眺めるが、画面は同じ動作を続けるばかりだった。
その様子を見たアイリが、心配そうに声をかけた。「おっきー、大丈夫? それ、無限ループに入っちゃってるんじゃない?」
「無限ループ…?」おっきーは初めて聞く言葉に戸惑った。
「そう、ループが終わる条件を忘れると、永遠に同じことを繰り返し続けるんだよ」とアイリが説明した。
レイも横から助言した。「ループを使うときは、必ず終わりの条件を設定することが重要なんだ。終わりがないと、プログラムはいつまでもループし続けてしまうからね」
おっきーは、モンスターの体力が0以下になったらループを止めるようにするif文を組み込むことにした。そして、再びコードを実行すると、無事に攻撃が終了し、プログラムも止まった。
「やった、うまくいった!」おっきーは喜びの声をあげたが、今度は安心して再度同じコードを動かしてみたところ、また別の問題が起きた。
今度はループの回数が多すぎて、端末が処理しきれずに固まってしまったのだ。おっきーはまたしてもコードを停止させるための方法を考えなければならなくなった。
「ループは便利だけど、使い方を間違えると大変なことになるんだね…」おっきーは冷や汗をかきながら、改めてループの難しさを実感した。
レイはおっきーに微笑んで言った。「ループは強力な道具だけど、慎重に使わないとね。もし無限ループに入ってしまったら、冷静に再起動の儀式を行い、コードを見直すことが大事だよ」
おっきーは、ループの魔法には終わりの条件や回数制限をつけることが大事だと理解し、今後も注意して使おうと決意を固めた。
アイリが頷きながら励ました。「次からはループの出口をちゃんと考えて組み立てれば大丈夫だよ。私たちも最初は何度も無限ループに入って、パニックになったものだから」
おっきーは彼女の言葉に勇気づけられ、「ループ地獄」を無事に脱出したことに胸をなでおろした。
「ありがとう、アイリ! これからも気をつけてループを使うよ!」
おっきーはこの経験を通じて、プログラムにおける「無限」の怖さと、それを避けるための「条件」の大切さを深く理解するのだった。仲間と共に成長しながら、彼はまた一つ賢いプログラマーとしての知識を身につけたのであった。




