第187話 対魔導師ウィルスと、重罪判別と、死のカウントダウン

 レジスタ保養施設で過ごしている。

 マイラとリニアは、元気に野山を駆けまわっているらしい。

 レクティは書類仕事をしている。

 この書類は部下が届けにきたのだ。


 レジスタとオルタネイト伯爵の諜報機関はツーカーらしい。

 オルタネイト伯爵は大口後援者だからな。


 静かな良い環境で、対魔導師のウィルスを作る。


#include <stdio.h>

#include <stdlib.h>

#include <string.h>


extern char liar_check(char *s,char *question);

extern void mystery_magic_name_get(char *str);

extern int tag_check(char *s,char *tag);


int count_read(char *s)

{

 int i;

 s=s+12; /*タグを飛ばす*/

 i=*s; /*下位*/

 s++; /*一つ進める*/

 i+=*s * 256; /*上位*/

 return(i); /*カウンターを返す*/

}

int death_count(char *str)

{

 FILE *fp; /*嘘を判別するデータの定義*/

 char s[256]; /*読み取るデータの格納場所*/


 fp=fopen(str,"r"); /*魂を開く*/

 while(fgets(s,256,fp)!=NULL){ /*一行読み取りを終わるまで繰り返す*/

  if(tag_check(s,"死のカウント")==1){ /*死のカウントタグを調べる*/

   fclose(fp); /*読み取るデータを閉じる*/

   return(count_read(s)); /*死のカウントを返す*/

  }

 }

 fclose(fp); /*読み取るデータを閉じる*/

 return(0); /*カウンターはない*/

}

void death_count_make(int count,char *str)

{

 FILE *fp; /*嘘を判別するデータの定義*/


 fp=fopen(str,"a+"); /*魂を開く*/

 fprintf(fp,"%s%d\n", "死のカウント",count);

}

void dead_end(char *str)

{

 char scom[4+1+200]; /*コマンド命令を入れる*/

 mystery_magic_name_get(mm_name); /*神秘魔法名をゲット*/

 strcpy(scom,"del "); /*文字列に『del 』を入れる*/

 strcat(scom,str); /*文字列に神秘魔法名を連結*/

 system(scom); /*魂を消す*/


}

void death_count_write(int count,char *str)

{

 FILE *fp; /*嘘を判別するデータの定義*/

 char s[256]; /*読み取るデータの格納場所*/


 fp=fopen(str,"r+"); /*魂を開く*/

 while(fgets(s,256,fp)!=NULL){ /*一行読み取りを終わるまで繰り返す*/

  if(tag_check(s,"死のカウント")==1){ /*死のカウントタグを調べる*/

   fprintf(fp,"%s%d\n", "死のカウント",count); /*死のカウント書き込み*/

   fclose(fp); /*読み取るデータを閉じる*/

   return;

  }

 }

 fclose(fp); /*読み取るデータを閉じる*/

}


char liar_checks(char *q,char *str)

{

 FILE *fp; /*嘘を判別するデータの定義*/

 char s[256]; /*読み取るデータの格納場所*/


 fp=fopen(str,"r"); /*魂を開く*/

 while(fgets(s,256,fp)!=NULL){ /*一行読み取りを終わるまで繰り返す*/

  if(liar_check(s,q)=='N') return('N'); /*嘘か判別 嘘ならFALSEを返す。『q』に尋ねたい質問*/

 }

 fclose(fp); /*読み取るデータを閉じる*/

 return('Y'); /*嘘はなかった*/

}


void main(void)

{

 int i;

 char str[256+5]; /*神秘魔法名の格納場所*/

 mystery_magic_name_get(str); /*神秘魔法名ゲット*/

 strcat(str,".soul "); /*神秘魔法名に『.soul 』を連結*/


 if(liar_checks("魔導師か?",str)=='Y'){ /*魔導師か判別*/

  if(liar_checks("重罪を犯したか?",str)=='Y'){ /*罪を犯したか判別*/

   i=death_count(str); /*死のカウントを調べる*/

   if(i==0){ /*死のカウントが設定されてない*/

    i=rand()%100+1; /*ランダムに設定*/

    death_count_make(i,str); /*死のカウントを魂に作る*/

   }

   i--; /*死のカウントを1引く*/

   if(i==0){ /*死のカウントが無くなったら*/

    dead_end(str); /*死ぬ*/

   }

   else{

    death_count_write(i,str); /*死のカウントを更新*/

   }

  }

 }


 /*ここから魔道具機能の魔法を書く*/


}


 これを色々な魔道具にそれを組み込んだ。

 これから売り出す魔道具には全てこれがついている。

 簡単に説明すると、重罪を犯した魔導師かの嘘判別魔法を盛り込んで、ランダムのタイマーで殺すように作った。

 魂に死のカウントが付いているので、魔道具を愛用しているかぎり条件に合った人間は死ぬ。


 後は餌である魔道具の機能をどうするか考えるだけだ。

 手始めに魔力1万アップぐらいのを作ろう。

 それと生活していく上での便利用品だ。


「タイト、悪い顔しているよ」


 帰って来たマイラにそう言われた。

 罪深い事をしている自覚はある。

 だが、戦争なんだよ。

 バイオテロを仕掛けてくるような集団には容赦しない。

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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