#include #include #include #include struct character{ char name[20]; int syuzokuchi; int kotaichi; int doryokuchi; }; struct level{ struct character *c; int level; }; int main(){ struct character *c; struct level *l; int ninzu,k,m,i,max=0,n,up,down,w=0,v=0,p,q,tmp,r,u; double nouryoku1,nouryoku2; char win[20],max_name[20],ans[5],ans2[5],boll[5],atari[5]; srand((unsigned)time(NULL)); printf("人数を入力してください(2人以上)>"); scanf("%d",&ninzu); c=malloc(ninzu*sizeof(*c)); l=malloc(ninzu*sizeof(*l)); for(i=0;inouryoku2){ l[k].level++; strcpy(win,c[k].name); } else{ l[m].level++; strcpy(win,c[m].name); } printf("""第%d戦終了""(◇◇win:%s◇◇)\n",i+1,win); printf("~~~~~~~~~~~~~~~~~~~~\n"); } for(i=0;imax){ max=l[i].level; strcpy(max_name,c[i].name); } } printf("優勝は………%sさんです!!!\n",max_name); printf("最後に、もし当たればレベルが上がり、外れれば下がる賭けに挑戦しますか?レベルの増減は0から150です。(yes or no 入力)\n"); scanf("%s",ans); if(strcmp(ans,"yes")==0){ printf("赤いボール、青いボールを発見!!どちらを選択するかはあなたの自由です。赤いボールを選択するときは""red"",青いボールを選択するときは""blue""と入力してください。\n"); scanf("%s",boll); n=rand()%2; if(n==0) strcpy(atari,"red"); else strcpy(atari,"blue"); if(strcmp(atari,boll)==0){ up=rand()%150+1; l[0].level+=up; w=l[0].level; printf("当たりました!!\n"); printf("レベルが%d上がり、あなたのレベルは%dになりました\n",up,l[0].level); } else{ down=rand()%150+1; l[0].level-=down; w=l[0].level; printf("外れました\n"); printf("レベルが%d下がり、あなたのレベルは%dになりました\n",down,l[0].level); } printf("最後にもう一度100戦しますか?(yes or no)\n"); scanf("%s",ans2); if(strcmp(ans2,"yes")==0){ for(i=100;i<200;i++){ k=0;m=0; while(k==m){ k=rand()%ninzu; m=rand()%ninzu; } nouryoku1=(double)(c[k].syuzokuchi*2+c[k].kotaichi+c[k].doryokuchi/4)*l[k].level/100+l[k].level+10; nouryoku2=(double)(c[m].syuzokuchi*2+c[m].kotaichi+c[m].doryokuchi/4)*l[m].level/100+l[m].level+10; printf("第%d戦開始(%s vs %s)\n",i+1,c[k].name,c[m].name); printf("%s:能力 %.3f\n",c[k].name,nouryoku1); printf("%s:能力 %.3f\n",c[m].name,nouryoku2); if(nouryoku1>nouryoku2){ l[k].level++; strcpy(win,c[k].name); } else{ l[m].level++; strcpy(win,c[m].name); } printf("第%d戦終了(win:%s)\n",i+1,win); printf("~~~~~~~~~~~~~~~~~~~~\n"); } printf("%s:%d勝 %d敗 レベル:%d\n",c[0].name,l[0].level-w+v,200-l[0].level+w-v,l[0].level); for(i=1;imax){ max=l[i].level; strcpy(max_name,c[i].name); } } printf("優勝は………%sさんです!!!\n",max_name); } else{ printf("ゲーム終了です。\n"); } } else printf("ゲーム終了です。\n"); }