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

📄 pip_system.c

📁 bbs server linux平台下软件源码
💻 C
字号:
/*---------------------------------------------------------------------------*//* 系统选单:个人资料  小鸡放生  特别服务                                     *//*                                                                           *//*---------------------------------------------------------------------------*/#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)const char weaponhead[7][10] = {    "没有装备",    "塑胶帽子",    "牛皮小帽",    "  安全帽",    "钢铁头盔",    "魔法发箍",    "黄金圣盔"};const char weaponrhand[10][10] = {    "没有装备",    "大木棒",    "金属扳手",    "青铜剑",    "晴雷剑",    "蝉翼刀",    "忘情剑",    "狮头宝刀",    "屠龙刀",    "黄金圣杖"};const char weaponlhand[8][10] = {    "没有装备",    "大木棒",    "金属扳手",    "木盾",    "不锈钢盾",    "白金之盾",    "魔法盾",    "黄金圣盾"};const char weaponbody[7][10] = {    "没有装备",    "塑胶胄甲",    "特级皮甲",    "钢铁盔甲",    "魔法披风",    "白金盔甲",    "黄金圣衣"};const char weaponfoot[8][12] = {    "没有装备",    "塑胶拖鞋",    "东洋木屐",    "特级雨鞋",    "NIKE运动鞋",    "鳄鱼皮靴",    "飞天魔靴",    "黄金圣靴"};int pip_system_freepip(){    char buf[256];    move(b_lines - 1, 0);    clrtoeol();#ifdef MAPLE    getdata(b_lines - 1, 1, "真的要放生吗?(y/N)", buf, 2, 1, 0);#else    getdata(b_lines - 1, 1, "真的要放生吗?(y/N)", buf, 2, DOECHO, true);#endif                          // END MAPLE    if (buf[0] != 'y' && buf[0] != 'Y')        return 0;    sprintf(buf, "%s 被狠心的 %s 丢掉了~", d.name, cuser->userid);    pressanykey(buf);    d.death = 2;    pipdie("被狠心丢弃:~~", 2);    return 0;}int pip_system_service(){    int pipkey;    int oldchoice;    char buf[200];    char oldname[21];    time_t now;    move(b_lines, 0);    clrtoeol();    move(b_lines, 0);    prints("  服务项目  [1]命名大师 [2]变性手术 [3]结局设局                                ");    pipkey = igetkey();    switch (pipkey) {    case '1':        move(b_lines - 1, 0);        clrtobot();#ifdef MAPLE        getdata(b_lines - 1, 1, "帮小鸡重新取个好名字:", buf, 11, DOECHO, NULL);#else        getdata(b_lines - 1, 1, "帮小鸡重新取个好名字:", buf, 11, DOECHO, true);#endif                          // END MAPLE        if (!buf[0]) {            pressanykey("等一下想好再来好了  :)");            break;        } else {            strcpy(oldname, d.name);            strcpy(d.name, buf);            /*             * 改名记录             */            now = time(0);            sprintf(buf, "%s %-11s把小鸡 [%s] 改名成 [%s] \n", Cdate(now), cuser->userid, oldname, d.name);            pip_log_record(buf);            pressanykey("嗯嗯  换一个新的名字喔...");        }        break;    case '2':                  /*变性 */        move(b_lines - 1, 0);        clrtobot();        /*         * 1:公 2:母          */        if (d.sex == 1) {            oldchoice = 2;      /*公-->母 */            move(b_lines - 1, 0);            prints("将小鸡由♂变性成♀的吗? [y/N]");        } else {            oldchoice = 1;      /*母-->公 */            move(b_lines - 1, 0);            prints("将小鸡由♀变性成♂的吗? [y/N]");        }        move(b_lines, 0);        prints("  服务项目  [1]命名大师 [2]变性手术 [3]结局设局                                ");        pipkey = igetkey();        if (pipkey == 'Y' || pipkey == 'y') {            /*             * 改名记录             */            now = time(0);            if (d.sex == 1)                sprintf(buf, "%s %-11s把小鸡 [%s] 由♂变性成♀了\n", Cdate(now), cuser->userid, d.name);            else                sprintf(buf, "%s %-11s把小鸡 [%s] 由♀变性成♂了\n", Cdate(now), cuser->userid, d.name);            pip_log_record(buf);            pressanykey("变性手术完毕...");            d.sex = oldchoice;        }        break;    case '3':        move(b_lines - 1, 0);        clrtobot();        /*         * 1:不要且未婚 4:要且未婚          */        oldchoice = d.wantend;        if (d.wantend == 1 || d.wantend == 2 || d.wantend == 3) {            oldchoice += 3;     /*没有-->有 */            move(b_lines - 1, 0);            prints("将小鸡游戏改成[有20岁结局]? [y/N]");            sprintf(buf, "小鸡游戏设定成[有20岁结局]..");        } else {            oldchoice -= 3;     /*有-->没有 */            move(b_lines - 1, 0);            prints("将小鸡游戏改成[没有20岁结局]? [y/N]");            sprintf(buf, "小鸡游戏设定成[没有20岁结局]..");        }        move(b_lines, 0);        prints("  服务项目  [1]命名大师 [2]变性手术 [3]结局设局                                ");        pipkey = igetkey();        if (pipkey == 'Y' || pipkey == 'y') {            d.wantend = oldchoice;            pressanykey(buf);        }        break;    }    return 0;}int pip_data_list(){                               /*看小鸡个人详细资料 */    char buf[256];    char inbuf1[20];    char inbuf2[20];    int tm;    int pipkey;    int page = 1;    tm = (time(0) - start_time + d.bbtime) / 60 / 30;    clear();    move(1, 0);    prints("       ┏━━━    ━━━  ┏━━━┓  ━━━  \n");    prints("       ┃      ┃┃ ━   ┃┗┓┏━┛┃ ━   ┃\n");    prints("       ┃      ┃┃┏┓  ┃  ┃┃    ┃┏┓  ┃\n");    prints("       ┗━━━  ┗┛┗━┛  ┗┛    ┗┛┗━┛......................");    do {        clrchyiuan(5, 23);        switch (page) {        case 1:            move(5, 0);            sprintf(buf, " ┌┤ 基本资料 ├—————————————————————————————┐\n");            prints(buf);            sprintf(buf, " │#姓    名 : %-10s #生    日 : %02d/%02d/%02d   #年    纪 : %-2d         │\n", d.name, d.year % 100, d.month, d.day, tm);            prints(buf);            sprintf(inbuf1, "%d/%d", d.hp, d.maxhp);            sprintf(inbuf2, "%d/%d", d.mp, d.maxmp);            sprintf(buf, " │#体    重 : %-5d(米克)#体    力 : %-11s#法    力 : %-11s│\n", d.weight, inbuf1, inbuf2);            prints(buf);            sprintf(buf, " │#疲    劳 : %-3d        #病    气 : %-3d        #脏    脏 : %-3d        │\n", d.tired, d.sick, d.shit);            prints(buf);            sprintf(buf, " │#腕    力 : %-7d    #亲子关系 : %-7d    #金    钱 : %-11d│\n", d.wrist, d.relation, d.money);            prints(buf);            sprintf(buf, " ├┤ 能力资料 ├—————————————————————————————┤\n");            prints(buf);            sprintf(buf, " │#气    质 : %-10d #智    力 : %-10d #爱    心 : %-10d │\n", d.character, d.wisdom, d.love);            prints(buf);            sprintf(buf, " │#艺    术 : %-10d #道    德 : %-10d #家    事 : %-10d │\n", d.art, d.etchics, d.homework);            prints(buf);            sprintf(buf, " │#礼    仪 : %-10d #应    对 : %-10d #烹    饪 : %-10d │\n", d.manners, d.speech, d.cookskill);            prints(buf);            sprintf(buf, " ├┤ 状态资料 ├—————————————————————————————┤\n");            prints(buf);            sprintf(buf, " │#快    乐 : %-10d #满    意 : %-10d #人    际 : %-10d │\n", d.happy, d.satisfy, d.toman);            prints(buf);            sprintf(buf, " │#魅    力 : %-10d #勇    敢 : %-10d #信    仰 : %-10d │\n", d.charm, d.brave, d.belief);            prints(buf);            sprintf(buf, " │#罪    孽 : %-10d #感    受 : %-10d                         │\n", d.offense, d.affect);            prints(buf);            sprintf(buf, " ├┤ 评价资料 ├—————————————————————————————┤\n");            prints(buf);            sprintf(buf, " │#社交评价 : %-10d #战斗评价 : %-10d #魔法评价 : %-10d │\n", d.social, d.hexp, d.mexp);            prints(buf);            sprintf(buf, " │#家事评价 : %-10d                                                 │\n", d.family);            prints(buf);            sprintf(buf, " └————————————————————————————————————┘\n");            prints(buf);            move(b_lines - 1, 0);            sprintf(buf, "                                                              第一页/共二页\n");            prints(buf);            break;        case 2:            move(5, 0);            sprintf(buf, " ┌┤ 物品资料 ├—————————————————————————————┐\n");            prints(buf);            sprintf(buf, " │#食    物 : %-10d #零    食 : %-10d #大 补 丸 : %-10d │\n", d.food, d.cookie, d.bighp);            prints(buf);            sprintf(buf, " │#药    草 : %-10d #书    本 : %-10d #玩    具 : %-10d │\n", d.medicine, d.book, d.playtool);            prints(buf);            sprintf(buf, " ├┤ 游戏资料 ├—————————————————————————————┤\n");            prints(buf);            sprintf(buf, " │#猜 拳 赢 : %-10d #猜 拳 输 : %-10d                         │\n", d.winn, d.losee);            prints(buf);            sprintf(buf, " ├┤ 武力资料 ├—————————————————————————————┤\n");            prints(buf);            sprintf(buf, " │#攻 击 力 : %-10d #防 御 力 : %-10d #速 度 值 : %-10d │\n", d.attack, d.resist, d.speed);            prints(buf);            sprintf(buf, " │#抗魔能力 : %-10d #战斗技术 : %-10d #魔法技术 : %-10d │\n", d.mresist, d.hskill, d.mskill);            prints(buf);            sprintf(buf,                    " │#头部装备 : %-10s #右手装备 : %-10s #左手装备 : %-10s │\n",                    weaponhead[d.weaponhead], weaponrhand[d.weaponrhand], weaponlhand[d.weaponlhand]);            prints(buf);            sprintf(buf, " │#身体装备 : %-10s #脚部装备 : %-10s                         │\n", weaponbody[d.weaponbody], weaponfoot[d.weaponfoot]);            prints(buf);            sprintf(buf, " └————————————————————————————————————┘\n");            prints(buf);            move(b_lines - 1, 0);            sprintf(buf, "                                                              第二页/共二页\n");            prints(buf);            break;        }        move(b_lines, 0);        sprintf(buf, "  资料选单    [↑/PAGE UP]往上一页 [↓/PAGE DOWN]往下一页 [Q]离开:            ");        prints(buf);        pipkey = igetkey();        switch (pipkey) {        case KEY_UP:        case KEY_PGUP:        case KEY_DOWN:        case KEY_PGDN:            if (page == 1)                page = 2;            else if (page == 2)                page = 1;            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        }    }    while ((pipkey != 'Q') && (pipkey != 'q') && (pipkey != KEY_LEFT));    return 0;}

⌨️ 快捷键说明

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