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

📄 pip_special.c

📁 one bbs source code
💻 C
📖 第 1 页 / 共 2 页
字号:
/*---------------------------------------------------------------------------*//* 特殊选单:看病 减肥 战斗 拜访 朝见                                         *//*                                                                           *//*---------------------------------------------------------------------------*/#include <time.h>#include "bbs.h"#include "pip.h"extern struct chicken d;extern time_t start_time;extern time_t lasttime;//#define getdata(a, b, c , d, e, f, g) getdata(a,b,c,d,e,f,NULL,g)struct royalset royallist[] = {{"T",	"拜访对象",	  0,	0,	 0,	  0,"","" /*NULL,NULL*/},{"A",	"星空骑兵连",	  1,	10,	15,    	100,"你真好,来陪我聊天..","守卫星空的安全是很辛苦的.."},{"B",	"星空007",	  1,   100,	25,	200,"真是礼貌的小鸡..我喜欢...","特务就是秘密保护站长安全的人.."},{"C",	"镇国大将军",	  1,   200,	30,	250,"告诉你唷!当年那个战役很精彩喔..","你真是高贵优雅的小鸡..."},{"D",	"参谋总务长",	  1,   300,	35,	300,"我帮站长管理这个国家唷..","你的声音很好听耶..我很喜欢喔...:)"},{"E",	"小天使站长",	  1,   400,	35,	300,"你很有教养唷!很高兴认识你...","优雅的你,请让我帮你祈福...."},{"F",	"风筝手站长",	  1,   500,	40,	350,"你好可爱喔..我喜欢你唷....","对啦..以後要多多来和我玩喔..."},{"G",	"乖小孩站长",	  1,   550,	40,	350, "跟你讲话很快乐喔..不像站长一样无聊..","来,坐我膝盖上,听我讲故事.."},{"H",	"小米克站长",	  1,   600,	50,     400,"一站之长责任重大呀..:)..","谢谢你听我讲话..以後要多来喔..."},{"I",	"星空灌水群",	  2,    60,	 0,	  0,"不错唷..蛮机灵的喔..很可爱....","来  我们一起来灌水吧...."},{"J",	"青年帅武官",	  0,	 0,	 0,	  0,"你好,我是武官,刚从银河边境回来休息..","希望下次还能见到你...:)"},//NULL,		NULL,NULL,    NULL,    NULL,NULL,NULL//{NULL,			0,	0,	0,	0, NULL, NULL}};int pip_see_doctor()	/*看医生*/{    char buf[256];    long savemoney;    savemoney=d.sick*25;    if(d.sick<=0)    {    pressanykey("哇哩..没病来医院干嘛..被骂了..呜~~");    d.character-=(rand()%3+1);    if(d.character<0)      d.character=0;    d.happy-=(rand()%3+3);    d.satisfy-=rand()%3+2;    }        else if(d.money < savemoney)    {     sprintf(buf,"你的病要花 %d 元喔....你不够钱啦...",savemoney);         pressanykey(buf);    }    else if(d.sick>0 && d.money >=savemoney)    {    d.tired-=rand()%10+20;    if(d.tired<0)       d.tired=0;    d.sick=0;    d.money=d.money-savemoney;    move(4,0);    show_special_pic(1);    pressanykey("药到病除..没有副作用!!");    }    return 0;}/*减肥*/int pip_change_weight(){    char genbuf[5];    char inbuf[256];    int weightmp;        move(b_lines-1, 0);    clrtoeol();    show_special_pic(2);#ifdef MAPLE    getdata(b_lines-1,1, "你的选择是? [Q]离开:", genbuf, 2, 1, 0);    #else    getdata(b_lines-1,1, "你的选择是? [Q]离开:", genbuf, 2, DOECHO, YEA);#endif  // END MAPLE    if (genbuf[0]=='1'|| genbuf[0]=='2'|| genbuf[0]=='3'|| genbuf[0]=='4')    {       switch(genbuf[0])      {        case '1':          if(d.money<80)          {            pressanykey("传统增胖要80元喔....你不够钱啦...");          }          else          {#ifdef MAPLE            getdata(b_lines-1,1, "需花费80元(3~5公斤),你确定吗? [y/N]", genbuf, 2, 1, 0);#else            getdata(b_lines-1,1, "需花费80元(3~5公斤),你确定吗? [y/N]", genbuf, 2, DOECHO, YEA);#endif  // END MAPLE            if(genbuf[0]=='Y' || genbuf[0]=='y')            {              weightmp=3+rand()%3;              d.weight+=weightmp;              d.money-=80;              d.maxhp-=rand()%2;              d.hp-=rand()%2+3;              show_special_pic(3);              sprintf(inbuf, "总共增加了%d公斤",weightmp);              pressanykey(inbuf);            }            else            {              pressanykey("回心转意罗.....");            }          }          break;                  case '2':#ifdef MAPLE          getdata(b_lines-1,1, "增一公斤要30元,你要增多少公斤呢? [请填数字]:", genbuf, 4, 1, 0);#else          getdata(b_lines-1,1, "增一公斤要30元,你要增多少公斤呢? [请填数字]:", genbuf, 4, DOECHO, YEA);#endif  // END MAPLE          weightmp=atoi(genbuf);          if(weightmp<=0)          {            pressanykey("输入有误..放弃罗...");                    }          else if(d.money>(weightmp*30))          {            sprintf(inbuf, "增加%d公斤,总共需花费了%d元,确定吗? [y/N]",weightmp,weightmp*30);#ifdef MAPLE            getdata(b_lines-1,1,inbuf, genbuf, 2, 1, 0);#else            getdata(b_lines-1,1,inbuf, genbuf, 2, DOECHO, YEA);#endif  // END MAPLE            if(genbuf[0]=='Y' || genbuf[0]=='y')            {                d.money-=weightmp*30;                d.weight+=weightmp;                d.maxhp-=(rand()%2+2);                count_tired(5,8,"N",100,1);                d.hp-=(rand()%2+3);                d.sick+=rand()%10+5;                show_special_pic(3);                sprintf(inbuf, "总共增加了%d公斤",weightmp);                pressanykey(inbuf);            }            else            {              pressanykey("回心转意罗.....");            }          }          else          {            pressanykey("你钱没那麽多啦.......");                      }          break;                          case '3':          if(d.money<80)          {            pressanykey("传统减肥要80元喔....你不够钱啦...");          }          else          {#ifdef MAPLE            getdata(b_lines-1,1, "需花费80元(3~5公斤),你确定吗? [y/N]", genbuf, 2, 1, 0);#else            getdata(b_lines-1,1, "需花费80元(3~5公斤),你确定吗? [y/N]", genbuf, 2, DOECHO, YEA);#endif  // END MAPLE            if(genbuf[0]=='Y' || genbuf[0]=='y')            {              weightmp=3+rand()%3;              d.weight-=weightmp;              if(d.weight<0)                   d.weight=0;              d.money-=100;              d.maxhp+=rand()%2;              d.hp-=rand()%2+3;              show_special_pic(4);              sprintf(inbuf, "总共减少了%d公斤",weightmp);              pressanykey(inbuf);            }            else            {              pressanykey("回心转意罗.....");            }          }                  break;        case '4':#ifdef MAPLE          getdata(b_lines-1,1, "减一公斤要30元,你要减多少公斤呢? [请填数字]:", genbuf, 4, 1, 0);#else          getdata(b_lines-1,1, "减一公斤要30元,你要减多少公斤呢? [请填数字]:", genbuf, 4, DOECHO, YEA);#endif  // END MAPLE          weightmp=atoi(genbuf);          if(weightmp<=0)          {            pressanykey("输入有误..放弃罗...");          }                    else if(d.weight<=weightmp)          {            pressanykey("你没那麽重喔.....");          }          else if(d.money>(weightmp*30))          {            sprintf(inbuf, "减少%d公斤,总共需花费了%d元,确定吗? [y/N]",weightmp,weightmp*30);#ifdef MAPLE            getdata(b_lines-1,1,inbuf, genbuf, 2, 1, 0);#else            getdata(b_lines-1,1,inbuf, genbuf, 2, DOECHO, YEA);#endif  // END MAPLE            if(genbuf[0]=='Y' || genbuf[0]=='y')            {                d.money-=weightmp*30;                d.weight-=weightmp;                d.maxhp-=(rand()%2+2);                count_tired(5,8,"N",100,1);                d.hp-=(rand()%2+3);                d.sick+=rand()%10+5;                show_special_pic(4);                sprintf(inbuf, "总共减少了%d公斤",weightmp);                pressanykey(inbuf);            }            else            {              pressanykey("回心转意罗.....");            }          }          else          {            pressanykey("你钱没那麽多啦.......");                      }          break;      }    }    return 0;}/*参见*/intpip_go_palace(){  pip_go_palace_screen(royallist);  return 0;}intpip_go_palace_screen(p) struct royalset *p;{  int n;  int a;  int b;  int choice;  int prince;  /*王子会不会出现*/  int pipkey;  int change;  char buf[256];  char inbuf1[20];  char inbuf2[20];  char ans[5];  char *needmode[3]={"      ","礼仪表现>","谈吐技巧>"};  int save[11]={0,0,0,0,0,0,0,0,0,0,0};  d.nodone=0;   do  {  clear();  show_palace_pic(0);  move(13,4);  sprintf(buf,"┌——————┤ 来到总司令部了  请选择你欲拜访的对象 ├——————┐");  prints(buf);  move(14,4);  sprintf(buf,"│                                                                  │");  prints(buf);  for(n=0;n<5;n++)    {    a=2*n+1;    b=2*n+2;    move(15+n,4);    sprintf(inbuf1,"%-10s%3d",needmode[p[a].needmode],p[a].needvalue);    if(n==4)    {       sprintf(inbuf2,"%-10s",needmode[p[b].needmode]);    }    else    {      sprintf(inbuf2,"%-10s%3d",needmode[p[b].needmode],p[b].needvalue);    }    if((d.seeroyalJ==1 && n==4)||(n!=4))      sprintf(buf,"│ (%s) %-10s  %-14s     (%s) %-10s  %-14s│",                 p[a].num,p[a].name,inbuf1,p[b].num,p[b].name,inbuf2);    else      sprintf(buf,"│ (%s) %-10s  %-14s                                   │",                 p[a].num,p[a].name,inbuf1);                 prints(buf);  }  move(20,4);  sprintf(buf,"│                                                                  │");  prints(buf);  move(21,4);  sprintf(buf,"└—————————————————————————————————┘");  prints(buf);     if(d.death==1 || d.death==2 || d.death==3)     return 0;      /*将各人务已经给与的数值叫回来*/   save[1]=d.royalA;            /*from守卫*/   save[2]=d.royalB;            /*from近卫*/   save[3]=d.royalC;		/*from将军*/   save[4]=d.royalD;            /*from大臣*/   save[5]=d.royalE;            /*from祭司*/   save[6]=d.royalF;            /*from宠妃*/   save[7]=d.royalG;            /*from王妃*/   save[8]=d.royalH;            /*from国王*/   save[9]=d.royalI;            /*from小丑*/   save[10]=d.royalJ;           /*from王子*/   move(b_lines-1, 0);   clrtoeol();   move(b_lines-1,0);   prints(" [生命力] %d/%d  [疲劳度] %d ",d.hp,d.maxhp,d.tired);                move(b_lines, 0);   clrtoeol();   move(b_lines,0);   prints(   "  参见选单   [字母]选择欲拜访的人物  [Q]离开星空总司令部:                    ");   pipkey=egetch();   choice=pipkey-64;   if(choice<1 || choice>10)      choice=pipkey-96;   if((choice>=1 && choice<=10 && d.seeroyalJ==1)||(choice>=1 && choice<=9 && d.seeroyalJ==0))   {    d.social+=rand()%3+3;    d.hp-=rand()%5+6;    d.tired+=rand()%5+8;    if(d.tired>=100)    {       d.death=1;       pipdie("累死了...  ",1);    }    if(d.hp<0)    {       d.death=1;       pipdie("饿死了...  ",1);    }    if(d.death==1)    {      sprintf(buf,"掰掰了...真是悲情..");    }    else    {    if((p[choice].needmode==0)||       (p[choice].needmode==1 && d.manners>=p[choice].needvalue)||       (p[choice].needmode==2 && d.speech>=p[choice].needvalue))        {      if(choice>=1 && choice<=9 && save[choice] >= p[choice].maxtoman)      {        if(rand()%2>0)

⌨️ 快捷键说明

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