#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int sakebi(char *c,int a,int b);
main(){
int(* p)();
p=sakebi; /* ポインタpは、sakebi関数のアドレスを指し示す */
srand((unsigned int)time(NULL));
printf("これは、お前に踏み潰されたスライムの痛みだッ!!\n");
p("ラスボス(首)",3,10);
printf("これは、ひなたぼっこ中に不意打ちを喰らったゴブリンの怒りだッ!\n");
p("ラスボス(腹)",6,100);
printf("ええと、余計なお世話の回復呪文で浄化してしまったスケルトンの分だぁッ!\n");
p("ラスボス(右足すね)",9,0);
printf("そしてこれは、全てを失った俺の怒りだッ!!\n");
p("カウンターッ!!\n貴方",0,10000);
printf("ぐふッ。\n");
}
int sakebi(char *c,int a,int b){
int i;
if(b!=0)b=rand()%b+1;
if(a==0)printf("いい加減にしろ。>いーざ\n");
else{
printf("うぎゃ");
for(i=0;i<a;i++)printf("ぁ");
printf("ッ!!\n");
}
printf("%sは、%dポイントのダメージ!!\n",c,b);
return b;
}
で、この書き方が駄目な時は(mainのみ)、
main(){
int(* p)();
p=sakebi; /* ポインタpは、sakebi関数のアドレスを指し示す */
srand((unsigned int)time(NULL));
printf("これは、お前に踏み潰されたスライムの痛みだッ!!\n");
(*p)("ラスボス(首)",3,10);
printf("これは、ひなたぼっこ中に不意打ちを喰らったゴブリンの怒りだッ!\n");
(*p)("ラスボス(腹)",6,100);
printf("ええと、余計なお世話の回復呪文で浄化してしまったスケルトンの分だぁッ!\n");
(*p)("ラスボス(右足すね)",9,0);
printf("そしてこれは、全てを失った俺の怒りだッ!!\n");
(*p)("カウンターッ!!\n貴方",0,10000);
printf("ぐふッ。\n");
}
つづく。