⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pip_fight.c

📁 one bbs source code
💻 C
📖 第 1 页 / 共 3 页
字号:
 	 m.maxhp=d.maxhp*(80+rand()%50)/100+20;; 	 m.hp=m.maxhp-rand()%10+20; 	 m.maxmp=d.maxmp*(80+rand()%50)/100+10; 	 m.mp= m.maxmp-rand()%20+10; 	 m.speed=d.speed*(80+rand()%50)/100+10; 	 m.attack=d.attack*(80+rand()%50)/100+10; 	 m.resist=d.resist*(80+rand()%50)/100+10; 	 m.money=0; 	 m.death=0; } /*d.tired+=rand()%(n+1)/4+2;*/ /*d.shit+=rand()%(n+1)/4+2;*/ do {    if(m.hp<=0) /*敌人死掉了*/   {     m.hp=0;     d.money+=m.money;     m.death=1;     d.brave+=rand()%4+3;   }   if(d.hp<=0 || d.tired>=100)  /*小鸡阵亡*/   {     if(mode==1)     {       d.hp=0;       d.tired=0;       d.death=1;     }     else     {       d.hp=d.maxhp/3+10;       d.hexp-=rand()%3+2;       d.mexp-=rand()%3+2;       d.tired=50;       d.death=1;     }   }           clear();    /*showtitle("电子养小鸡", BoardName);*/   move(0,0);   if(d.sex==1)     sprintf(buf,"  星空战斗鸡 ~ ♂ %-10s                                                  ",d.name); 	    else if(d.sex==2)     sprintf(buf,"  星空战斗鸡 ~ ♀ %-10s                                                  ",d.name); 	    else      sprintf(buf,"  星空战斗鸡 ~ ? %-10s                                                  ",d.name); 	    prints(buf);       move(6,0);   if(mode==1)	   show_badman_pic(n);   move(1,0);   sprintf(buf,"┌—————————————————————————————————————┐");   prints(buf);   move(2,0);   /* lucky拿来当color用*/   if(d.tired>=80)      lucky=31;   else if(d.tired>=60 && d.tired< 80)      lucky=33;   else      lucky=37;   sprintf(inbuf1,"%d/%d",d.hp,d.maxhp);     sprintf(inbuf2,"%d/%d",d.mp,d.maxmp);       sprintf(buf,"│生  命:%-12s法  力:%-12s疲  劳:[%dm%-12d金  钱:%-10d│",  	 inbuf1,inbuf2,lucky,d.tired,d.money);   prints(buf);   move(3,0);   sprintf(inbuf1,"%d/%d",d.hexp,d.mexp);     sprintf(buf,"│攻  击:%-10d  防  御:%-10d  速  度:%-5d       经  验:%-10s│", 	 d.attack,d.resist,d.speed,inbuf1);   prints(buf);   move(4,0);   sprintf(buf,"│食  物:%-5d       大补丸:%-5d       零  食:%-5d       药  草:%-5d     │", 	 d.food,d.bighp,d.cookie,d.medicine);   prints(buf);	    move(5,0);   sprintf(buf,"└—————————————————————————————————————┘");   prints(buf);    move(19,0);   sprintf(buf,"┌—————————————————————————————————————┐");   prints(buf);   move(20,0);   sprintf(inbuf1,"%d/%d",m.hp,m.maxhp);     sprintf(inbuf2,"%d/%d",m.mp,m.maxmp);        sprintf(buf,"│姓  名:%-10s  生  命:%-11s 法  力:%-11s                  │", 	 p[n].name,inbuf1,inbuf2);   prints(buf);   move(21,0);   sprintf(buf,"│攻  击:%-6d      防  御:%-6d      速  度:%-6d      金  钱:%-6d    │", 	 m.attack,m.resist,m.speed,m.money);   prints(buf);   move(22,0);   sprintf(buf,"└—————————————————————————————————————┘");   prints(buf);   move(b_lines,0);      sprintf(buf,"  战斗命令    [1]普通  [2]全力  [3]魔法  [4]防御  [5]补充  [6]逃命         ");   prints(buf);          if(m.death==0 && d.death==0)   {    dresistmore=0;    d.nodone=0;    pipkey=egetch();     switch(pipkey)    {     case '1':       if(rand()%9==0)      {        pressanykey("竟然没打中..:~~~");       }      else      {       	if(mresistmore==0)          dinjure=(d.hskill/100+d.hexp/100+d.attack/9-m.resist/12+rand()%12+2-m.speed/30+d.speed/30);        else	  dinjure=(d.hskill/100+d.hexp/100+d.attack/9-m.resist/8+rand()%12+2-m.speed/30+d.speed/30);            	if(dinjure<=0)	  dinjure=9;        m.hp-=dinjure;        d.hexp+=rand()%2+2;        d.hskill+=rand()%2+1;          sprintf(buf,"普通攻击,对方生命力减低%d",dinjure);        pressanykey(buf);      }      d.tired+=rand()%(n+1)/15+2;      break;          case '2':      show_fight_pic(2);      if(rand()%11==0)      {         pressanykey("竟然没打中..:~~~");      }           else       {         if(mresistmore==0)                dinjure=(d.hskill/100+d.hexp/100+d.attack/5-m.resist/12+rand()%12+6-m.speed/50+d.speed/30);        else          dinjure=(d.hskill/100+d.hexp/100+d.attack/5-m.resist/8+rand()%12+6-m.speed/40+d.speed/30);                          if(dinjure<=15)          dinjure=20;          if(d.hp>5)        {           m.hp-=dinjure;          d.hp-=5;          d.hexp+=rand()%3+3;          d.hskill+=rand()%2+2;           d.tired+=rand()%(n+1)/10+3;           sprintf(buf,"全力攻击,对方生命力减低%d",dinjure);          pressanykey(buf);        }        else        {           d.nodone=1;          pressanykey("你的HP小於5啦..不行啦...");        }      }      break;          case '3':      oldtired=d.tired;      oldhp=d.hp;           d.magicmode=0;      dinjure=pip_magic_menu();       if(dinjure<0)        dinjure=5;      if(d.nodone==0)      {        if(d.magicmode==1)        {          oldtired=oldtired-d.tired;          oldhp=d.hp-oldhp;          sprintf(buf,"治疗後,生命力提高%d 疲劳降低%d",oldhp,oldtired);          pressanykey(buf);        }        else        {          if(rand()%15==0)             pressanykey("竟然没打中..:~~~");            else          {               if(d.mexp<=100)             {                if(rand()%4>0)                    dinjure=dinjure*60/100;                else                    dinjure=dinjure*80/100;             }             else if(d.mexp<=250 && d.mexp>100)             {                if(rand()%4>0)                    dinjure=dinjure*70/100;                else                    dinjure=dinjure*85/100;                        }             else if(d.mexp<=500 && d.mexp>250)             {                if(rand()%4>0)                    dinjure=dinjure*85/100;                else                    dinjure=dinjure*95/100;                        }             else if(d.mexp>500)             {                if(rand()%10>0)                    dinjure=dinjure*90/100;                else                    dinjure=dinjure*99/100;                        }             if((p[n].special[d.magicmode-2]-48)==1)             {                if(rand()%2>0)                {                  dinjure=dinjure*125/100;                }                else                {                  dinjure=dinjure*110/100;                }             }             else             {                if(rand()%2>0)                {                  dinjure=dinjure*60/100;                }                else                {                    dinjure=dinjure*75/100;                           }             }             d.tired+=rand()%(n+1)/12+2;             m.hp-=dinjure;              /*d.mexp+=rand()%2+2;*/             d.mskill+=rand()%2+2;               sprintf(buf,"魔法攻击,对方生命力减低%d",dinjure);             pressanykey(buf);                     }        }      }      break;         case '4':      dresistmore=1;      d.tired+=rand()%(n+1)/20+1;      pressanykey("小鸡加强防御啦....");      break;     case '5':            pip_basic_feed();      break;           case '6':      d.money-=(rand()%100+30);      d.brave-=(rand()%3+2);            if(d.money<0)      	d.money=0;      if(d.hskill<0)      	d.hskill=0;      if(d.brave<0)        d.brave=0;      clear();       showtitle("电子养小鸡", BoardName);       move(10,0);      prints("            ┌——————————————————————┐");      move(11,0);      prints("            │  实力不强的小鸡 %-10s                 │",d.name);      move(12,0);      prints("            │  在与对手 %-10s 战斗後落跑啦          │",p[n].name);      move(13,0);      sprintf(inbuf1,"%d/%d",d.hexp-oldhexp,d.mexp-oldmexp);        prints("            │  评价增加了 %-5s 点  技术增加了 %-2d/%-2d 点  │",inbuf1,d.hskill-oldhskill,d.mskill-oldmskill);      move(14,0);      sprintf(inbuf1,"%d 元",oldmoney-d.money);      prints("            │  勇敢降低了 %-5d 点  金钱减少了 %-13s  │",oldbrave-d.brave,inbuf1);      move(15,0);      prints("            └——————————————————————┘");                   pressanykey("叁十六计 走为上策...");      winorlose=0;      break;#ifdef MAPLE          case Ctrl('R'):      if (currutmp->msgs[0].last_pid)      {      show_last_call_in();      my_write(currutmp->msgs[0].last_pid, "水球丢回去:");      }      break;#endif  // END MAPLE    }      }   clear();    move(0,0);   if(d.sex==1)     sprintf(buf,"  星空战斗鸡 ~ ♂ %-10s                                                  ",d.name); 	    else if(d.sex==2)     sprintf(buf,"  星空战斗鸡 ~ ♀ %-10s                                                  ",d.name); 	    else      sprintf(buf,"  星空战斗鸡 ~ ? %-10s                                                  ",d.name); 	    prints(buf);       move(1,0);   sprintf(buf,"┌—————————————————————————————————————┐");   prints(buf);   move(2,0);   /* lucky拿来当color用*/   if(d.tired>=80)      lucky=31;   else if(d.tired>=60 && d.tired< 80)      lucky=33;   else      lucky=37;   sprintf(inbuf1,"%d/%d",d.hp,d.maxhp);     sprintf(inbuf2,"%d/%d",d.mp,d.maxmp);       sprintf(buf,"│生  命:%-12s法  力:%-12s疲  劳:[%dm%-12d金  钱:%-10d│",  	 inbuf1,inbuf2,lucky,d.tired,d.money);   prints(buf);      move(3,0);   sprintf(inbuf1,"%d/%d",d.hexp,d.mexp);        sprintf(buf,"│攻  击:%-6d      防  御:%-6d      速  度:%-5d       经  验:%-10s│", 	 d.attack,d.resist,d.speed,inbuf1);   prints(buf);   move(4,0);   sprintf(buf,"│食  物:%-5d       大补丸:%-5d       零  食:%-5d       药  草:%-5d     │", 	 d.food,d.bighp,d.cookie,d.medicine);   prints(buf);	    move(5,0);   sprintf(buf,"└—————————————————————————————————————┘");   prints(buf);       move(6,0);   if(mode==1)	   show_badman_pic(n);   move(19,0);   sprintf(buf,"┌—————————————————————————————————————┐");   prints(buf);   move(20,0);   sprintf(inbuf1,"%d/%d",m.hp,m.maxhp);     sprintf(inbuf2,"%d/%d",m.mp,m.maxmp);        sprintf(buf,"│姓  名:%-10s  生  命:%-11s 法  力:%-11s                  │", 	 p[n].name,inbuf1,inbuf2);   prints(buf);   move(21,0);   sprintf(buf,"│攻  击:%-6d      防  御:%-6d      速  度:%-6d      金  钱:%-6d    │", 	 m.attack,m.resist,m.speed,m.money);   prints(buf);   move(22,0);   sprintf(buf,"└—————————————————————————————————————┘");   prints(buf);   move(b_lines,0);      sprintf(buf,"  攻击命令    [1]普通  [2]全力  [3]魔法  [4]防御  [5]逃命                     ");   prints(buf);             if((m.hp>0)&&(pipkey!='6')&& (pipkey=='1'||pipkey=='2'||pipkey=='3'||pipkey=='4'||pipkey=='5')&&(d.death==0)&&(d.nodone==0))   {     mresistmore=0;     lucky=rand()%100;     if(lucky>=0 && lucky<=50)        mankey=1;     else if(lucky>=51 && lucky<=84)        mankey=2;       else if(lucky>=85 && lucky<=97)        mankey=3;     else if(lucky>=98)        mankey=4;        switch(mankey)     {          case 1:       if(rand()%6==5)       {          pressanykey("对方没打中..:~~~");       }            else       {        if(dresistmore==0)                minjure=(m.attack/9-d.resist/12+rand()%15+4-d.speed/30+m.speed/30-d.hskill/200-d.hexp/200);        else          minjure=(m.attack/9-d.resist/8+rand()%12+4-d.speed/50+m.speed/20-d.hskill/200-d.hexp/200);        if(minjure<=0)          minjure=8;          d.hp-=minjure;        d.tired+=rand()%3+2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -