pip_system.c
来自「linux/unix环境下的建站系统」· C语言 代码 · 共 405 行
C
405 行
/*---------------------------------------------------------------------------*//* 系统选单:个人资料 小鸡放生 特别服务 *//* *//*---------------------------------------------------------------------------*/#include "pip.h"extern struct chicken d;extern time_t start_time;extern time_t lasttime;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运动鞋", "鳄鱼皮靴", "飞天魔靴", "黄金圣靴"};intpip_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,NULL,true);#endif // END MAPLE if (buf[0] != 'y' && buf[0] != 'Y') return 0; sprintf(buf, "%s 被狠心的 %s 丢掉了~", d.name, getCurrentUser()->userid); temppress(buf); d.death = 2; pipdie("\033[1;31m被狠心丢弃:~~\033[0m", 2); return 0;}intpip_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 ("\033[1;44m 服务项目 \033[46m[1]命名大师 [2]变性手术 [3]结局设局 \033[0m"); 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,NULL,true);#endif // END MAPLE if (!buf[0]) { temppress("等一下想好再来好了 :)"); break; } else { strcpy(oldname, d.name); strcpy(d.name, buf); /* * 改名记录 */ now = time(0); sprintf(buf, "\033[1;37m%s %-11s把小鸡 [%s] 改名成 [%s] \033[0m\n", Cdate(now), getCurrentUser()->userid, oldname, d.name); pip_log_record(buf); temppress("嗯嗯 换一个新的名字喔..."); } break; case '2': /*变性 */ move(b_lines - 1, 0); clrtobot(); /* * 1:公 2:母 */ if (d.sex == 1) { oldchoice = 2; /*公-->母 */ move(b_lines - 1, 0); prints ("\033[1;33m将小鸡由\033[32m♂\033[33m变性成\033[35m♀\033[33m的吗? \033[37m[y/N]\033[0m"); } else { oldchoice = 1; /*母-->公 */ move(b_lines - 1, 0); prints ("\033[1;33m将小鸡由\033[35m♀\033[33m变性成\033[35m♂\033[33m的吗? \033[37m[y/N]\033[0m"); } move(b_lines, 0); prints ("\033[1;44m 服务项目 \033[46m[1]命名大师 [2]变性手术 [3]结局设局 \033[0m"); pipkey = igetkey(); if (pipkey == 'Y' || pipkey == 'y') { /* * 改名记录 */ now = time(0); if (d.sex == 1) sprintf(buf, "\033[1;37m%s %-11s把小鸡 [%s] 由♂变性成♀了\033[0m\n", Cdate(now), getCurrentUser()->userid, d.name); else sprintf(buf, "\033[1;37m%s %-11s把小鸡 [%s] 由♀变性成♂了\033[0m\n", Cdate(now), getCurrentUser()->userid, d.name); pip_log_record(buf); temppress("变性手术完毕..."); 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 ("\033[1;33m将小鸡游戏改成\033[32m[有20岁结局]\033[33m? \033[37m[y/N]\033[0m"); sprintf(buf, "小鸡游戏设定成[有20岁结局].."); } else { oldchoice -= 3; /*有-->没有 */ move(b_lines - 1, 0); prints ("\033[1;33m将小鸡游戏改成\033[32m[没有20岁结局]\033[33m? \033[37m[y/N]\033[0m"); sprintf(buf, "小鸡游戏设定成[没有20岁结局].."); } move(b_lines, 0); prints ("\033[1;44m 服务项目 \033[46m[1]命名大师 [2]变性手术 [3]结局设局 \033[0m"); pipkey = igetkey(); if (pipkey == 'Y' || pipkey == 'y') { d.wantend = oldchoice; temppress(buf); } break; } return 0;}intpip_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(" \033[1;33m┏━━━ ━━━ ┏━━━┓ ━━━ \033[m\n"); prints(" \033[0;37m┃ ┃┃ ━ ┃┗┓┏━┛┃ ━ ┃\033[m\n"); prints(" \033[1;37m┃ ┃┃┏┓ ┃ ┃┃ ┃┏┓ ┃\033[m\n"); prints (" \033[1;34m┗━━━ ┗┛┗━┛ ┗┛ ┗┛┗━┛\033[32m......................\033[m"); do { clrchyiuan(5, 23); switch (page) { case 1: move(5, 0); sprintf(buf, "\033[1;31m ┌┤\033[41;37m 基本资料 \033[0;1;31m├—————————————————————————————┐\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#姓 名 :\033[37m %-10s \033[33m#生 日 :\033[37m %02d/%02d/%02d \033[33m#年 纪 :\033[37m %-2d \033[31m│\033[m\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, "\033[1;31m │\033[33m#体 重 :\033[37m %-5d(米克)\033[33m#体 力 :\033[37m %-11s\033[33m#法 力 :\033[37m %-11s\033[31m│\033[m\n", d.weight, inbuf1, inbuf2); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#疲 劳 :\033[37m %-3d \033[33m#病 气 :\033[37m %-3d \033[33m#脏 脏 :\033[37m %-3d \033[31m│\033[m\n", d.tired, d.sick, d.shit); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#腕 力 :\033[37m %-7d \033[33m#亲子关系 :\033[37m %-7d \033[33m#金 钱 :\033[37m %-11d\033[31m│\033[m\n", d.wrist, d.relation, d.money); prints(buf); sprintf(buf, "\033[1;31m ├┤\033[41;37m 能力资料 \033[0;1;31m├—————————————————————————————┤\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#气 质 :\033[37m %-10d \033[33m#智 力 :\033[37m %-10d \033[33m#爱 心 :\033[37m %-10d \033[31m│\033[m\n", d.character, d.wisdom, d.love); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#艺 术 :\033[37m %-10d \033[33m#道 德 :\033[37m %-10d \033[33m#家 事 :\033[37m %-10d \033[31m│\033[m\n", d.art, d.etchics, d.homework); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#礼 仪 :\033[37m %-10d \033[33m#应 对 :\033[37m %-10d \033[33m#烹 饪 :\033[37m %-10d \033[31m│\033[m\n", d.manners, d.speech, d.cookskill); prints(buf); sprintf(buf, "\033[1;31m ├┤\033[41;37m 状态资料 \033[0;1;31m├—————————————————————————————┤\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#快 乐 :\033[37m %-10d \033[33m#满 意 :\033[37m %-10d \033[33m#人 际 :\033[37m %-10d \033[31m│\033[m\n", d.happy, d.satisfy, d.toman); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#魅 力 :\033[37m %-10d \033[33m#勇 敢 :\033[37m %-10d \033[33m#信 仰 :\033[37m %-10d \033[31m│\033[m\n", d.charm, d.brave, d.belief); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#罪 孽 :\033[37m %-10d \033[33m#感 受 :\033[37m %-10d \033[33m \033[37m \033[31m│\033[m\n", d.offense, d.affect); prints(buf); sprintf(buf, "\033[1;31m ├┤\033[41;37m 评价资料 \033[0;1;31m├—————————————————————————————┤\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#社交评价 :\033[37m %-10d \033[33m#战斗评价 :\033[37m %-10d \033[33m#魔法评价 :\033[37m %-10d \033[31m│\033[m\n", d.social, d.hexp, d.mexp); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#家事评价 :\033[37m %-10d \033[33m \033[37m \033[33m \033[37m \033[31m│\033[m\n", d.family); prints(buf); sprintf(buf, "\033[1;31m └————————————————————————————————————┘\033[m\n"); prints(buf); move(b_lines - 1, 0); sprintf(buf, " \033[1;36m第一页\033[37m/\033[36m共二页\033[m\n"); prints(buf); break; case 2: move(5, 0); sprintf(buf, "\033[1;31m ┌┤\033[41;37m 物品资料 \033[0;1;31m├—————————————————————————————┐\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#食 物 :\033[37m %-10d \033[33m#零 食 :\033[37m %-10d \033[33m#大 补 丸 :\033[37m %-10d \033[31m│\033[m\n", d.food, d.cookie, d.bighp); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#药 草 :\033[37m %-10d \033[33m#书 本 :\033[37m %-10d \033[33m#玩 具 :\033[37m %-10d \033[31m│\033[m\n", d.medicine, d.book, d.playtool); prints(buf); sprintf(buf, "\033[1;31m ├┤\033[41;37m 游戏资料 \033[0;1;31m├—————————————————————————————┤\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#猜 拳 赢 :\033[37m %-10d \033[33m#猜 拳 输 :\033[37m %-10d \033[31m│\033[m\n", d.winn, d.losee); prints(buf); sprintf(buf, "\033[1;31m ├┤\033[41;37m 武力资料 \033[0;1;31m├—————————————————————————————┤\033[m\n"); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#攻 击 力 :\033[37m %-10d \033[33m#防 御 力 :\033[37m %-10d \033[33m#速 度 值 :\033[37m %-10d \033[31m│\033[m\n", d.attack, d.resist, d.speed); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#抗魔能力 :\033[37m %-10d \033[33m#战斗技术 :\033[37m %-10d \033[33m#魔法技术 :\033[37m %-10d \033[31m│\033[m\n", d.mresist, d.hskill, d.mskill); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#头部装备 :\033[37m %-10s \033[33m#右手装备 :\033[37m %-10s \033[33m#左手装备 :\033[37m %-10s \033[31m│\033[m\n", weaponhead[d.weaponhead], weaponrhand[d.weaponrhand], weaponlhand[d.weaponlhand]); prints(buf); sprintf(buf, "\033[1;31m │\033[33m#身体装备 :\033[37m %-10s \033[33m#脚部装备 :\033[37m %-10s \033[33m \033[37m \033[31m│\033[m\n", weaponbody[d.weaponbody], weaponfoot[d.weaponfoot]); prints(buf); sprintf(buf, "\033[1;31m └————————————————————————————————————┘\033[m\n"); prints(buf); move(b_lines - 1, 0); sprintf(buf, " \033[1;36m第二页\033[37m/\033[36m共二页\033[m\n"); prints(buf); break; } move(b_lines, 0); sprintf(buf, "\033[1;44;37m 资料选单 \033[46m [↑/PAGE UP]往上一页 [↓/PAGE DOWN]往下一页 [Q]离开: \033[m"); 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 + =
减小字号Ctrl + -
显示快捷键?