第2話 最初のプログラム

 本にはこうある。

 この世界の入門の魔法をプログラムにすると。


#include <stdio.h>

#include "magic.h"

void main(void)

{

 fire_ball_test();

}


 こうなる。

 解説しよう。


 『#include』、これは色々な定義などの情報が詰まっている。

 お約束という奴だ。

 付け加えると魔法では関係ないのだが、プログラムの頭に『#include <stdio.h>』をつける。

 もし異世界から帰れて職に迷った時にプログラムで食って行く為に覚えておいて欲しい。

 魔法にはそんな物がないがゴーレムに入力しても上手く処理してくれるから必ず付けて欲しい。

 『#include <string.h>』や『#include <stdlib.h>』などが必要になる場合もある。

 その都度教える。

 『#include "magic.h"』も同様だ。

 ここには魔法の定義が詰まっているがこんな物は無い架空の物だ。

 気分だよ。悪いか。


 最初の『void』、これは出力が無いという事を示している。

 この場合の出力とは魔法のことじゃなくて実行した結果を報告しないという事だ。

 もちろん結果を報告する事も出来る。

 これは後で説明するから根気よく読み進めて欲しい。


 『void』はたしか虚ろとか、がらんどうとかいう意味だったはずだ。

 ヴォイドっていう好きなキャラクターが居たから意味を調べた事がある。

 おっと思考がそれた。

 読書に戻ろう。


 次の『main』これはこのプログラムが最初に走りますよって意味だ。

 専門用語で言うとメインルーチンや主関数という。

 魔法でも同じ事だ。

 ここから全てが始まる。


 次の『(void)』ここは括弧の中に入力が入る。

 ここの意味は入力はありませんって事だ。

 但し主関数では決まりに沿った入力しか出来ない。

 ここも後で説明する。


 次に『{』だ主関数のプログラムの始まりを意味している。

 魔法なら魔法の始まりだ。

 ループの中身や条件分岐の中身を指す事もある。

 終わりを示す『}』と必ず対になっている。


 最後に『fire_ball_test();』。

 関数とかサブルーチンとか呼ばれる。

 プログラムはここで分岐して関数の中身に飛んでそして処理が終わると飛んだ場所に戻ってくる。

 関数の中で関数を使っている場合も同じだ。

 関数の中に飛ぶ事を関数を呼ぶとか言う。

 関数が呼ばれるとその処理に飛びそして帰ってくる。


 『;』に注目してほしい命令の最後には必ず入れる。

 但し『{』の場合は別だが。


 ファイヤーボールを室内で撃つと大惨事に発展する恐れもあるから、今から元の世界で最初に習う物を教える。


#include <stdio.h>

void main(void)

{

 printf("Hello");

}


 これをゴーレムに打ち込んで欲しい。

 コアに触りプログラムをイメージすれば入力できる。

 入力できたら『.c』を付けてセーブ。

 そして、コンパイルだ。

 コンパイルはプログラムを実行可能な物にする。

 さあ試したまえ。


 なるほどと。

 俺はコアに身体を触れさせてプログラムを思い浮かべると。

 それが半透明になって空中に出た。


「プログラムが入力されました。どうしますか」


 えっと『test.c』としてセーブと。

 そしてコンパイルと念じた。

 エラー無しの表示が出た。

 実行『test』だな。


 『ヒラニシ・モチニミゆヒラニシよ・が・セスニミカハゆふHelloふよレ・む』と音声が流れた。

 これが魔法の呪文か。


 おお、『Hello』の文字が空中に出た。

 俺もこれで魔法使いだ。

 声を出せないがこれが変わりになるかも。


 本を読み進める。

 それにはこうあった。


 もし元の世界に帰ったらプログラムを始める為に必要な物を挙げておく。

 エディターとコンパイラだ。

 どちらも無料で幾つもの会社から提供されている。

 自分に合った物を使って欲しい。

 ウィザードお勧めは『visual studio community』だ。

 有料版の隣にあると思うからダウンロードする時は間違えない様にしてくれ。


 『visual studio community』があればエディターとコンパイラは一つで揃う。

 こういうのを統合環境という。

 インストールは大変だが機会があれば頑張って欲しい。


 さてと会話の代わりに魔法で対処するなら、プログラム組まなきゃ。

 まずは自己紹介だ。

 それには名前を決めないと。

 何にしよう。

 そうだ、ゴーレムに乗って旅にでよう。

 ならパイロットって事で俺の名はエースだ。

 よしプログラム組むぞ。


#include <stdio.h>

void main(void)

{

 printf("こんにちは!\n俺はエースです。\n");

}


 出来たぞ。

 このプログラムで使っている『\n』は改行文字だ。

 本に書いてあった。

 この文字が出てくると文章は改行される。

 さっそく実行。

 詠唱が開始されて、自己紹介が二行になって、空中に浮かんだ。


 でもこれだと自由に会話は出来ないな。

 魔法という名のプログラムならもっと複雑な事もできるんじゃないかな。

 今後に期待だ。


 本にはゴーレムの動かし方も載っていた。


#include <stdio.h>

#include "golem.h"

void main(void)

{

 golem_walk(1);

}


 このプログラムを入力すれば歩くそうだ。

 試しにやってみる。

 『golem_walk』の名前でコンパイルして実行する。


「ヒラニシ・モチニミゆヒラニシよ・が・キラリイモろテチリノゆヌよレ・む」


 呪文が詠唱されてゴーレムが歩く。

 やったゴーレムが一歩歩いたぞ。

 俺はゴーレムの背中の収納にすっぽりと収まって、隙間からコアに触手を伸ばす。

 そして、『golem_walk』の実行をコアに触り思考で連打した。

 呪文を詠唱してガションと歩き始める。

 それを繰り返しゴーレムは進み壁を蹴り破って外に出た。

 このゴーレム凄いパワーだな。

 『いざ行かん、まだ見ぬ地よ』と空中に文字を出した。

 俺は鳥の声を見送りにゴーレムに乗って遺跡を後にした。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る