第24話 開拓作業
今日の課題依頼は討伐以外なら、なんでもいいとミニアが言われ、開拓の依頼を取って来た。
なぜ開拓の仕事に冒険者かと言うと柵のない所だと魔獣の襲撃を防げない。
ミニアによれば開拓しながら魔獣を撃退するのは一般人にはきついそうだ。
現場まで飛んで行くと背ほどある斧を持った冒険者が現場監督をしていた。
ミニアが打ち合わせに呼ばれたので暇つぶしにエアカッターの呪文を解析する。
しばらくたってミニアが帰って来た。
俺達の担当は畑作りだ。
まずは邪魔な岩を退かす作業。
一際大きな岩を排除にかかる。
ドラゴンのパワーで押してもびくともしない。
これは深く埋まっているな。
「ウィザ。がんば」
ミニアの応援に答えるか。
必殺胃酸ブレス。
胃酸を浴びた岩は脆くなり、軽い尻尾の一撃で砕けた。
まあ、ざっとこんなもんだ。
「ウィザ。すごい」
埋まっている部分も胃酸ブレスで溶かして脆くなったところを砕いた。
開いた大穴には他の冒険者が土嚢を詰め込んだ。
次の岩はドラゴンのパワーで押すとコロコロと転がった。
開拓地の外まで押しやると喝采が上がる。
なんでも押しても引いても梃子でも駄目なものだから半ば諦めていたんだとか。
凄腕の魔法使いに頼まないといけないなんて話も出ていたらしい。
ドラゴンにとって小さい岩は尻尾の一振りで開拓地の外に弾き飛ばした。
次は木をエアカッターの魔法で伐採する。
イメージはこんなだ。
void main(void)
{
char orbit[2000]; /*軌道データ*/
MAGIC *mp; /*魔法定義*/
mp=air_cutter_make(10); /*エアカッター生成*/
magic_straight(mp,orbit,sizeof(orbit)); /*軌道を真っ直ぐに*/
magic_move(mp,orbit,sizeof(orbit)); /*動かす*/
}
なんの変哲もない魔法だ。
いいかげん飽きてきた。
もっと普通じゃない魔法を寄越せ。
おっ、これなんかどうだ。
それでこれが普通のファイヤーボール。
void main(void)
{
char orbit[2000]; /*軌道データ*/
MAGIC *mp; /*魔法定義*/
mp=fire_ball_make(5); /*火の玉生成*/
magic_straight(mp,orbit,sizeof(orbit)); /*軌道を真っ直ぐに*/
magic_move(mp,orbit,sizeof(orbit)); /*飛ばす*/
}
これが新しい呪文のイメージ。
void main(void)
{
char orbit[2000]; /*軌道データ*/
MAGIC *mp; /*魔法定義*/
mp=fire_ball_make(5); /*火の玉生成*/
magic_zigzag(mp,orbit,sizeof(orbit)); /*ジグザクの軌道を入力*/
magic_move(mp,orbit,sizeof(orbit)); /*飛ばす*/
}
違いが分かるだろうか。
『magic_straight』のところが『magic_zigzag』になっている。
実際試したところジグザクにファイヤーボールが飛んだ事から、『magic_zigzag』の名前を付けた。
他の呪文も試したら螺旋や蛇行の軌道で飛ぶ呪文がある。
こちらは『magic_spiral』、『magic_meander』の名前を付けておいた。
ジグザグに進むエアカッターは見てて面白い。
なぜかというと木が殆んどランダムに倒れるからだ。
目の前の木が全て倒れた時などはストライクとドラゴンの声で叫んでしまった。
いざ敵襲かと開拓している人間が皆、武器を取る。
すいません、誤報です。
「ウィザ、遊ばない」
ミニアに叱られてしまった。
真面目にやるとしますか。
面白みのないエアカッターで木を切る事一時間。
開拓予定地の木は全て切り終え、切り株をドラゴンパワーで掘り返した。
ドラゴンに細かい作業はできないので今日の仕事はこれで終わりだ。
余った時間は……。
そうだ。
開拓の記念碑作っちゃおう。
転がした大岩を胃酸ブレスで削るのもありと言えばありだが。
ここは魔法で記念碑を作ろう。
ファイヤーボールを作る呪文があったよな。
なら石像も作れるんじゃないか。
イメージを組み立てる。
void main(int argc,char *argv[])
{
char statue[40000]; /*像の領域*/
MAGIC *mp; /*魔法定義*/
int i; /*カウンター*/
/*像のデータ初期化*/
for(i=0;i<40000;i++){
statue[i]='\0';
}
/*初期化終わり*/
mp=magic_make(statue,sizeof(statue),IMAGEBALL); /*像を魔法として登録。輪郭は球状だが問題ないはず*/
i=0; /*カウンターをゼロに*/
while(*(argv[1]+i)!='\0' && i!=40000){ /*外部からのデータが終わるか 像の領域が尽きるまで*/
statue[i]=*(argv[1]+i); /*外部の情報を像のデータに入れる*/
i++; /*カウンターを一つ増やす*/
}
magic_trans(mp); /*現象化する*/
}
とまあこんな具合だ。
外部から入力したイメージを領域に入れている。
領域の量を超えるかイメージが尽きると止まるようになっている。
条件設定の『&&』の所が初出で割り出すのに苦労した。
時間が有ったので、条件式だけの魔法を作り、総当りで割り出した。
コンパイルして実行する時にその後にモアイ像を想像した。
モアイ像の鼻から上が出来上がる。
想像したのに比べて領域が少なかったか。
何度かやり直して立派なモアイ像が完成した。
魔法登録の所のイメージ設定はかなりいいかげんみたいだ。
こんなのでも正常に作動する。
たぶんモデリングソフトみたいな物なんだろうな。
最初の形を何に指定するかというものなんだろう。
極端な物を指定すると魔法が失敗するんだろうな。
村の守り神として入り口に飾る。
今回の魔法を使えば鳥の形のファイヤーボールとかも作れるんじゃないだろうか。
やっても使い道がないのでやらないが。
ちょっとした好奇心で金のモアイ像を作ろうとしたが駄目だった。
魔法の属性にない物は受け付けないらしい。
好きな軌道にファイヤーボールを飛ばすのも出来そうだと考えた。
イメージは。
void main(int argc,char *argv[])
{
int i; /*カウンター*/
char orbit[2000]; /*軌道データ/
MAGIC *mp; /*魔法定義*/
mp=fire_ball_make(5); /*火の玉生成*/
for(i=0;i<sizeof(orbit);i++){
orbit[i]='\0'; /*軌道のデータ初期化*/
}
i=0; /*カウンターをゼロに*/
while(*(argv[1]+i)!='\0' && i!=sizeof(orbit)){ /*外部からのデータが終わるか 軌道データが尽きるまで*/
orbit[i]=*(argv[1]+i); /*外部の入力を軌道のデータに*/
i++; /*カウンターを一つ増やす*/
}
magic_move(mp,orbit,sizeof(orbit)); /*飛ばす*/
}
とまあこんな感じだ。
軌道をイメージするのは時間が掛かるから実戦では使えないな。
じっくり狙いをつけて狙撃するのには使えそうだが、誘導弾の方が便利だな。




