第15話 剰余★
////////////////////////////////////////////
【さらに変更後】
if(world.count % 1200 == 0){
user.execute_magic() //魔法実行処理
}
////////////////////////////////////////////
今回、追加した条件……
////////////////////////////////////////////
if(world.count % 1200 == 0)
////////////////////////////////////////////
とは、
言い換えるならば、〝10秒に1回〟という条件になる。
まず〝%〟とは、〝剰余〟と呼ばれる計算をする記号である。
剰余とは、左の値を右の値で割った〝余り〟のことである。
////////////////////////////////////////////
左の値 % 右の値
////////////////////////////////////////////
この条件における
・左の値はworld.count
・右の値は1200
ということになる。
もう少し簡単な例で言うと、
例えば
・左の値が7
・右の値が3
とすると
////////////////////////////////////////////
7 % 3
////////////////////////////////////////////
7 割る 3 は 2 余り 1
数式で表すと 7 ÷ 3 = 2 余り 1
% は 左の値を右の値で割った〝余り〟のことであるため、
7 % 3 は 1 ということになる。
これを前提に、今回、ユキが追加した条件を改めて確認する。
////////////////////////////////////////////
if(world.count % 1200 == 0)
////////////////////////////////////////////
ユキはこれまでの定性的な検証により、
world.countはその変数名から世界のカウンター(常にカウントアップし続けるカウンターである)と予想できる。
(プログラミングでは、変数名で、その値が何を表しているか何となくわかるように命名することは結構大事である。
その前提の元、world.countは1/120秒(約0.0083秒)に一回、カウントアップされる。
つまるところ、world.countが120増えると1秒、1200増えると10秒というわけだ。
ここで条件式である
world.countを1200で割った余りが0になる、すなわち
world.count % 1200 が0になるのは、
world.countが0, 1200, 2400, 3600, ……
というように1200の倍数の時なので、
if(world.count % 1200 == 0)
は、およそ10秒に1回、条件を満たすという条件式になるというわけだ。
ユキは改めて、下記のように
////////////////////////////////////////////
if(world.count % 1200 == 0){
user.execute_magic() //魔法実行処理
}
////////////////////////////////////////////
手に持ってからしばらくすると、
そして、ユキはそのままの状態で、魔法補助具を持ち続ける。
すると、初回の魔法が発動してからおよそ10秒後に、魔法が発動する。
さらには20秒後、30秒後にも魔法が発動する。
成功だ。
(やった……! これで、魔法補助具を
意図通りの動作をしたので、ユキは一度、魔法補助具から手を放す。
(……だけど)
問題はこれがそのまま魔石に適用できるかどうかであった。
(まぁ、そんなにはうまくいかないとは思うけど……)
ユキはダメ元で、魔石を魔法補助具にくくりつけてみる。
すると……
(…………え? マジか!?)
なんと、魔法補助具の魔法が発動したのである。
(これはもしや……)
ユキはそのまま魔法補助具の様子を観察する。
すると、
(うぉおおお、これは熱い!! この魔法補助具の使用者(user)として、魔石も想定されているということか! これはすごいことだ! ナイス・ポリモフィズム!)
ユキは一人で興奮していた。
ユキが興奮している理由であるポリモフィズムという概念については(少しややっこしいので)一旦、無視するが、とにかくこれが画期的であることは確かであった。
自動的に発動する魔法補助具が発見されたのである。
と、オーエスがユキに話し掛けてくる。
「ユキくん、さっきから、何をやってるんだい? いくら夏とはいえ、なんだか少し寒いのだけど……」
「あ、すみません……」
「ん? なんだなんだ?」
オーエスがユキの作業スペースをのぞき込む。
「あ、えーと……」
ユキはオーエスに説明しようとするが、ふと、今朝、アイシャに言われたことを思い出す。
◆
「ユキ……! すまない、昨日の件はまだ我々だけの秘密にな……!」
◆
(……言ったらまずいのか……いや、見られたらまずい……?)
ユキがあたふたしていると……
「……? 特に何もないな……」
オーエスはユキの作業スペースに特段の変わったことを見いださず、自分のスペースに戻っていく。
ユキはほっとしつつも、自分自身も改めて、魔法補助具と魔石を確認する。
(……あ、止まってる)
魔法補助具からの魔法の放出は止まっており、魔石は光を失っていた。
(これは……燃料切れか)
その通りであった。
単なる燃料切れではあった。
しかし、たかが燃料切れ、されど燃料切れであった。
……
その夜――
ユキは二夜連続で夜更かししていた。
一人きりの研究開発室で、ユキは魔法補助具に向き合う。
そして……
「あぁああ、ダメだ……うまくいかない……」
ユキは頭を抱える。
日中、魔石から得た魔力で、魔法補助具の魔法を発動させるという成果は得られた。
しかし……
「ダメだ……こんなんじゃ、全然、実用に耐えがたい……」
〝長時間〟、〝大容量〟の冷却。
これがアイシャから要望されている冷却装置の要件である。
しかし……
よく冷えるように、冷気の出力を上げれば、すぐに燃料が切れてしまう。
逆に、稼働時間をのばすため、冷気の出力を下げると、時間は延びるが、あまり冷えないという状況であり……
現状では、とても実用的とは言い難かった。
そんな時……
「ユキ、今日もか……?」
(……!?)
研究開発室に透明感のある声が響く。
ユキが振り返ると、えんじ色のブレザー姿、透き通るような白銀の髪で、青い瞳の少女がいた。
それはアイシャであった。(二夜連続、二回目)
=================================================
【あとがき】
ふと気になったのですが、読者さんのプログラム歴ってどれくらいの方が多いのだろう……
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます