表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
異世界の魔法はJavaScriptで起動する  作者: あきらメル
第2章 入門編
29/30

入門編『夜間授業』

「魔導書さん。今日使った重力操作の術式を教えてくれますか?」


 夕飯を終えてしばらく無言でたたずんでいた心地良い空間に、エイダの可愛い声が響いた。魔導書はどうしようかと思案していると、エイダが恐る恐る尋ねる。


「もしかして、凄く難しいの?」

「そんな事は無い。数十行しか無い凄くシンプルな術式だ。ただ、どうやて説明しようか迷っていただけだ」

「ふ〜ん」


 エイダは軽く受け答えながら、ベッドの上にうつ伏せに寝転がる。魔導書は開いたまま枕より上に置き、枕に頭を埋める。自分の部屋なのか、かなりリラックスしている。


「うんまぁ何にせよ、術式を見せた方が早いか。えっと、昼はどこまで教えたっけ?『三次元空間』『速度』『加速度』の表示はまだ説明してないか」


 魔導書とブツブツ独り言を言いながら、術式の表示の準備をする。


「術式はざっと、こんな感じだ」


<html>

<head>

<style>

input {text-align: right;}

</style>

<script>

var xText,yText,zText,vxText,vyText,vzText,axText,ayText,azText;

window.onload=function(){

 xText=document.getElementById("x");

 yText=document.getElementById("y");

 zText=document.getElementById("z");

 vxText=document.getElementById("vx");

 vyText=document.getElementById("vy");

 vzText=document.getElementById("vz");

 axText=document.getElementById("ax");

 ayText=document.getElementById("ay");

 azText=document.getElementById("az");

 display();

}

function display(){

 xText.value=master.x;

 yText.value=master.y;

 zText.value=master.z;

 vxText.value=master.vx;

 vyText.value=master.vx;

 vzText.value=master.vx;

 axText.value=master.ax;

 ayText.value=master.ax;

 azText.value=master.ax;

 setTimeout(display,100);

}

</script>

</head>

<body>

x=<input type="text" id="x" SIZE=10/>m<BR>

y=<input type="text" id="y" SIZE=10/>m<BR>

z=<input type="text" id="z" SIZE=10/>m<BR>

vx=<input type="text" id="vx" SIZE=10/>m/s<BR>

vy=<input type="text" id="vy" SIZE=10/>m/s<BR>

vz=<input type="text" id="vz" SIZE=10/>m/s<BR>

ax=<input type="text" id="ax" SIZE=10/>m/s²<BR>

ay=<input type="text" id="ay" SIZE=10/>m/s²<BR>

az=<input type="text" id="az" SIZE=10/>m/s²<BR>

</body>

<html>


 表示された術式を見て、一瞬エイダは凍る。


「えっと? 簡単?」

「あぁ。エイダ(master)の『現在位置』と『速度』と『加速度』を表示するだけの単純な術式だ」

「今まで見た術式の中で、一番長いんだけど?」

「繰り返しが多いから、そう見えるのかな?」


 エイダの疑問に、魔導書はさも当たり前のように答える。


「さて、次は重力操作の術式を……」

「ちょ、ちょっと待って!」


 次に進めようとする魔導書を、慌ててエイダは止める。


「教えてもらっていないのが沢山使われてる。一つ一つ教えてもらわないとわからないよ」


 エイダの必死の訴えに、魔導書はようやく我に返ったように返事をする。


「あぁそうだった。エイダにはHTMLのタグ等はまだ教えてなかったか……。済まないエイダ。少しぼ〜っとしていた」

「部屋に戻った後、何回か話しかけても『そうだな』『あぁ』とか生返事だったんだよ?」

「そうか。考え事をしていて、全く聞いていなかった。本当に済まない」

「もう!」


 プンプンと拗ねたポーズを取る。いつもの魔導書に戻ったようで、エイダも少し安心する。


「ではまず、『HTML』の説明から始めよう。『HTML』とは『ハイパーテキスト マークアップ ランゲージ』の略で、ハイパーテキストを記述するためのマークアップ言語の1つだ。さて、次はタグの説明に……」

「ちょ、ちょっと待って! もう『ハイパーテキスト』やら『マークアップ』やら分からない単語が出まくってて、説明が説明になってないよ!」

「済まないエイダ。少しぼ〜っとしていた」

「嘘だ! 絶対に今のワザとだ!」


 魔導書のボケに、エイダは必死にツッコミを入れる。説明している時にやられると少しウザいようだ。魔導書は観念したように普通に説明を始める。


「では『ハイパーテキスト』から説明しよう。『テキスト』は日本語では何?」

「『文書』?」

「『ハイパー』は?」

「『凄い』?」


 エイダの答えに魔導書は満足そうに頷き、説明を続ける。


「そう『ハイパーテキスト』は簡単に訳せば『凄い文書』。では質問。どうやれば文書は凄くなれると思う?」


 魔導書の変な質問に、エイダは首を傾げながら『う〜ん』と考える。


「書いた事が本当になるとか?」

「うん。メルヘンチックな答えで、私は好きだ。しかし、それではない。もうちょっと現実的に考えて」


 エイダはしばらく考えるが、答えが思い付かない。降参したエイダに、魔導書は答えを言う。


「文書が別の文書に、お互いに繋がりあってたらどうなると思う?」

ーーーーーーーー ログ ーーーーーーーーーー

エイダはHTMLの勉強を開始する。

ーーーーーーーーーーーーーーーーーーーーーー


登場人物


エイダ・ラブレス

挿絵(By みてみん)

冒険者に憧れている9歳の普通の女の子。

結構ベッドに横になりながら本を読んだりする。


職業:術者プログラマ LV1

称号:初心者

スキル:『関数かんすう LV4』『構文こうぶん LV1』『文字列もじれつ LV1』『コメント LV1』『算術さんじゅつ演算子えんざんし LV1』『文字列もじれつ演算子えんざんし LV2』『変数へんすう LV2』『代入だいにゅう演算子えんざんし LV1』『オブジェクト指向しこう LV1』『イベント処理しょり lv1』『デカルト座標系ざひょうけい LV1』『力学りきがく LV2』

関数:『alert()』

HTMLタグ:『<script>』

イベント:『mousedown』【throw】

(【】は魔法に関連し、従来のjavascriptにはない)


喋る魔導書

挿絵(By みてみん)

エイダが森の奥で出会った喋る魔導書。

考え事をすると、聞こえなくなるタイプ。


作者より


https://ncode.syosetu.com/n1899el/


小説家になろうで「JavaScript開発日記」も連載始めました。こちらは「異世界の魔法はJavaScriptで起動する」では扱えないようなスクリプトを、ブログみたいに書いていこうかなと考えています。今は「小説家になろう文章作法修正スクリプト」に取り掛かっていて、ちょっとずつ改善していく予定。修正スクリプトが出来上がったら、今まで書いた話を編集していこうと思っています。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ