#include typedef struct { int hp; int str; }sta; typedef struct { char name[20]; int lv; sta abi; //構造体の入れ子構造 }par; int main(){ par bel={"ベル",1,100,10}; //主人公の設定 int e_num=3,s_num; int i; par enemy[]={ {"コボルト",1,15,2}, {"ゴブリン",1,20,3}, {"スライム",1,10,1}, }; //敵キャラの設定 while(e_num>0){ printf("%4s:%3s\n","Name",bel.name); printf("%4s:%3d\n","Lv",bel.lv); printf("%4s:%3d\n","HP",bel.abi.hp); printf("%4s:%3d\n","STR",bel.abi.str);//ステータスの表示 for(i=0;i<3;i++) if(enemy[i].abi.hp>0) printf("%d:%4s ",i+1,enemy[i].name); //敵キャラの名前表示 scanf("%d",&s_num); //攻撃対象の敵キャラを選ぶ if(s_num<1||30){ bel.abi.hp-=enemy[i].abi.str; printf("%4sの攻撃!%4sは%2dのダメージを受けた!\n",enemy[i].name,bel.name,enemy[i].abi.str);//ダメージを受ける if(bel.abi.hp<0) { printf("%4sは倒れた\n",bel.name); return 0; } }else continue; } } printf("モンスターを倒した!\n");//全部倒したら表示する return 0; }