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

📄 pip_menu.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)#ifndef MAPLEextern char BoardName[];#endif  // END MAPLEchar *menuname[8][2]={ {"             ",  " 选单 [1]基本 [2]逛街 [3]修行 [4]玩乐 [5]打工 [6]特殊 [7]系统 [Q]离开          "},  {"             ",  "  基本选单  [1]饮食 [2]清洁 [3]休息 [4]亲亲 [Q]跳出:                          "}, {" 逛街 【日常用品】[1]便利商店 [2]星空药铺 [3]夜里书局                          ",  " 选单 【武器百货】[A]头部武器 [B]右手武器 [C]左手武器 [D]身体武器 [E]脚部武器  "},  {" 修行 [A]科学(%d) [B]诗词(%d) [C]神学(%d) [D]军学(%d) [E]剑术(%d)                   ",  " 选单 [F]格斗(%d) [G]魔法(%d) [H]礼仪(%d) [I]绘画(%d) [J]舞蹈(%d) [Q]跳出:         "},   {"   ",  "  玩乐选单  [1]散步 [2]运动 [3]约会 [4]猜拳 [5]旅游 [6]郊外 [7]唱歌 [Q]跳出:  "}, {" 打工 [A]家事 [B]保姆 [C]旅馆 [D]农场 [E]餐厅 [F]教堂 [G]地摊 [H]伐木          ",  " 选单 [I]美发 [J]猎人 [K]工地 [L]守墓 [M]家教 [N]酒家 [O]酒店 [P]夜总会 [Q]跳出"},  {"   ",  "  特殊选单  [1]星空医院 [2]媚登峰~ [3]战斗修行 [4]拜访朋友 [5]总司令部 [Q]跳出"},   {"   ",  "  系统选单  [1]详细资料 [2]小鸡自由 [3]特别服务 [4]储存进度 [5]读取进度 [Q]跳出"}};/*主选单*/int pip_basic_menu(),pip_store_menu(),pip_practice_menu();int pip_play_menu(),pip_job_menu(),pip_special_menu(),pip_system_menu();static struct pipcommands pipmainlist[] ={pip_basic_menu,		'1',	'1',pip_store_menu,		'2',	'2',pip_practice_menu,	'3',	'3',pip_play_menu,		'4',	'4',pip_job_menu,		'5',	'5',pip_special_menu,	'6',	'6',pip_system_menu,	'7',	'7',NULL,			'\0',	'\0'};/*基本选单*/int pip_basic_feed(),pip_basic_takeshower(),pip_basic_takerest(),pip_basic_kiss();static struct pipcommands pipbasiclist[] ={pip_basic_feed,		'1',	'1',pip_basic_takeshower,	'2',	'2',pip_basic_takerest,	'3',	'3',pip_basic_kiss,		'4',	'4',NULL,			'\0',	'\0'};/*商店选单*/int pip_store_food(),pip_store_medicine(),pip_store_other();int pip_store_weapon_head(),pip_store_weapon_rhand(),pip_store_weapon_lhand();int pip_store_weapon_body(),pip_store_weapon_foot();static struct pipcommands pipstorelist[] ={pip_store_food,		'1',	'1',pip_store_medicine,	'2',	'2',pip_store_other,	'3',	'3',pip_store_weapon_head,	'a',	'A',pip_store_weapon_rhand,	'b',	'B',pip_store_weapon_lhand,	'c',	'C',pip_store_weapon_body,	'd',	'D',pip_store_weapon_foot,	'e',	'E',NULL,			'\0',	'\0'};/*修行选单*/int pip_practice_classA(),pip_practice_classB(),pip_practice_classC();int pip_practice_classD(),pip_practice_classE(),pip_practice_classF();int pip_practice_classG(),pip_practice_classH(),pip_practice_classI();int pip_practice_classJ();static struct pipcommands pippracticelist[] ={pip_practice_classA,	'a',	'A',pip_practice_classB,	'b',	'B',pip_practice_classC,	'c',	'C',pip_practice_classD,	'd',	'D',pip_practice_classE,	'e',	'E',pip_practice_classF,	'f',	'F',pip_practice_classG,	'g',	'G',pip_practice_classH,	'h',	'H',pip_practice_classI,	'i',	'I',pip_practice_classJ,	'j',	'J',NULL,			'\0',	'\0'};/*玩乐选单*/int pip_play_stroll(),pip_play_sport(),pip_play_date(),pip_play_guess();int pip_play_outing(),pip_play_kite(),pip_play_KTV();static struct pipcommands pipplaylist[] ={pip_play_stroll,	'1',	'1',pip_play_sport,		'2',	'2',pip_play_date,		'3',	'3',pip_play_guess,		'4',	'4',pip_play_outing,	'5',	'5',pip_play_kite,		'6',	'6',pip_play_KTV,		'7',	'7',NULL,			'\0',	'\0'};/*打工选单*/int pip_job_workA(),pip_job_workB(),pip_job_workC(),pip_job_workD();int pip_job_workE(),pip_job_workF(),pip_job_workG(),pip_job_workH();int pip_job_workI(),pip_job_workJ(),pip_job_workK(),pip_job_workL();int pip_job_workM(),pip_job_workN(),pip_job_workO(),pip_job_workP();static struct pipcommands pipjoblist[] ={pip_job_workA,		'a',	'A',pip_job_workB,		'b',	'B',pip_job_workC,		'c',	'C',pip_job_workD,		'd',	'D',pip_job_workE,		'e',	'E',pip_job_workF,		'f',	'F',pip_job_workG,		'g',	'G',pip_job_workH,		'h',	'H',pip_job_workI,		'i',	'I',pip_job_workJ,		'j',	'J',pip_job_workK,		'k',	'K',pip_job_workL,		'l',	'L',pip_job_workM,		'm',	'M',pip_job_workN,		'n',	'N',pip_job_workO,		'o',	'O',pip_job_workP,		'p',	'P',NULL,			'\0',	'\0'};/*特殊选单*/int pip_see_doctor(),pip_change_weight(),pip_meet_vs_man(),pip_query(),pip_go_palace();static struct pipcommands pipspeciallist[] ={pip_see_doctor,		'1',	'1',pip_change_weight,	'2',	'2',pip_meet_vs_man,	'3',	'3',pip_query,		'4',	'4',pip_go_palace,		'5',	'5',NULL,			'\0',	'\0'};/*系统选单*/int pip_data_list(),pip_system_freepip(),pip_system_service();int pip_write_backup(),pip_read_backup();int pip_divine(),pip_results_show();static struct pipcommands pipsystemlist[] ={pip_data_list,		'1',	'1',pip_system_freepip,	'2',	'2',pip_system_service,	'3',	'3',pip_write_backup,	'4',	'4',pip_read_backup,	'5',	'5',pip_divine,		'o',	'O',pip_results_show,	's',	'S',NULL,			'\0',	'\0'};/*类似menu.c的功能*/intpip_do_menu(menunum,menumode,cmdtable)int menunum,menumode;struct pipcommands cmdtable[];{	time_t now;	int key1,key2;	int pipkey;	int goback=0,ok=0;	int class1=0,class2=0,class3=0,class4=0,class5=0;	int class6=0,class7=0,class8=0,class9=0,class10=0;	struct pipcommands *cmd1;	struct pipcommands *cmd2;	do	{	   ok=0;	   /*判断是否死亡  死掉即跳回上一层*/	   if(d.death==1 || d.death==2 || d.death==3)	     return 0;	   /*经pip_mainmenu判定後是否死亡*/	   if(pip_mainmenu(menumode)) 	     return 0;	   class1=d.wisdom/200+1;			/*科学*/	   if(class1>5)  class1=5;	   class2=(d.affect*2+d.wisdom+d.art*2+d.character)/400+1; /*诗词*/	   if(class2>5)  class2=5;  	   class3=(d.belief*2+d.wisdom)/400+1;		/*神学*/	   if(class3>5)  class3=5;   	   class4=(d.hskill*2+d.wisdom)/400+1;		/*军学*/	   if(class4>5)  class4=5; 	   class5=(d.hskill+d.attack)/400+1;		/*剑术*/	   if(class5>5)  class5=5; 	   class6=(d.hskill+d.resist)/400+1;		/*格斗*/	   if(class6>5)  class6=5; 	   class7=(d.mskill+d.maxmp)/400+1;		/*魔法*/	   if(class7>5)  class7=5;    	   class8=(d.manners*2+d.character)/400+1;	/*礼仪*/	   if(class8>5)  class8=5; 	   class9=(d.art*2+d.character)/400+1; 		/*绘画*/	   if(class9>5)  class9=5;      	   class10=(d.art*2+d.charm)/400+1;		/*舞蹈*/	   if(class10>5) class10=5; 	   	   clrchyiuan(22,24);	   move(b_lines-1,0);	   prints(menuname[menunum][0],class1,class2,class3,class4,class5);	   move(b_lines,0);	   prints(menuname[menunum][1],class6,class7,class8,class9,class10);	   	   now=time(0);   	   pip_time_change(now);	   pipkey=egetch();	   now=time(0);	   pip_time_change(now);		   cmd1=cmdtable;	   cmd2=cmdtable;	   switch(pipkey)	   {#ifdef MAPLE	     case Ctrl('R'):		if (currutmp->msgs[0].last_pid) 		{		    show_last_call_in();		    my_write(currutmp->msgs[0].last_pid,"流星丢回去:",0);		}		break;#endif  // END MAPLE#ifdef MAPLE				     case KEY_ESC:		if (KEY_ESC_arg == 'c')		    capture_screen();		else if (KEY_ESC_arg == 'n') 		    edit_note();		break;#endif  // END MAPLE				     case KEY_LEFT:	     case 'q':	     case 'Q':			        goback=1;		break;			     default:		for(cmd1; key1 = cmd1->key1; cmd1++)		/*if(key == tolower(pipkey))*/		if(key1 == pipkey)		{		    cmd1->fptr();		    ok=1;		}		for(cmd2; key2 = cmd2->key2; cmd2++)		if(ok==0 && key2 == pipkey)		{		    cmd2->fptr();		}		break;	   }  	}while(goback==0);	return 0;}/*---------------------------------------------------------------------------*//* 基本选单:  食 清洁 亲亲 休息                                              *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_main_menu(){ pip_do_menu(0,0,pipmainlist); return 0;}/*---------------------------------------------------------------------------*//* 基本选单:  食 清洁 亲亲 休息                                              *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_basic_menu(){ pip_do_menu(1,0,pipbasiclist); return 0;}/*---------------------------------------------------------------------------*//* 商店选单:食物 零食 大补丸 玩具 书本                                       *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_store_menu(){   pip_do_menu(2,1,pipstorelist);   return 0;}/*---------------------------------------------------------------------------*//* 修行选单:念书 练武 修行                                                   *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_practice_menu(){   pip_do_menu(3,3,pippracticelist);   return 0;}     /*---------------------------------------------------------------------------*//* 玩乐选单:散步 旅游 运动 约会 猜拳                                         *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_play_menu(){  pip_do_menu(4,0,pipplaylist);  return 0;}/*---------------------------------------------------------------------------*//* 打工选单:家事 苦工 家教 地摊                                              *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_job_menu(){   pip_do_menu(5,2,pipjoblist);   return 0;}/*---------------------------------------------------------------------------*//* 特殊选单:看病 减肥 战斗 拜访 朝见                                         *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_special_menu(){  pip_do_menu(6,0,pipspeciallist);  return 0;}/*---------------------------------------------------------------------------*//* 系统选单:个人资料  小鸡放生  特别服务                                     *//*                                                                           *//*---------------------------------------------------------------------------*/int pip_system_menu(){  pip_do_menu(7,0,pipsystemlist);  return;}intpip_mainmenu(mode)int mode;{ char genbuf[200]; char inbuf1[20]; char inbuf2[20]; char buf[256]; time_t now; int tm,m,color,tm1,m1; int age; int color1,color2,color3,color4; int anynum; float pc; char yo[12][5]={"诞生","婴儿","幼儿","儿童","少年","青年",                 "成年","壮年","更年","老年","古稀","神仙"}; color1=color2=color3=color4=37; move(1,0); tm=(time(0)-start_time+d.bbtime)/60/30; /* 一岁 */ tm1=(time(0)-start_time+d.bbtime)/60; m=d.bbtime/60/30; m1==d.bbtime/60; /*长大一岁时的增加改变值*/ if(m!=tm) {  d.wisdom+=10;  d.happy+=rand()%5+5;  if(d.happy>100)     d.happy=100;  d.satisfy+=rand()%5;  if(d.satisfy>100)     d.satisfy=100;  if(tm<13) d.maxhp+=rand()%5+5; else d.maxhp-=rand()%15;  d.character+=rand()%5;  d.money+=500;  d.seeroyalJ=1;  count_tired(1,7,"N",100,0);  d.bbtime+=time(0)-start_time;  start_time=time(0);  pip_write_file();  /*记录开始*/  now=time(0);  sprintf(genbuf, "%s %-11s的小鸡 [%s] 满 %d 岁了 \n", Cdate(&now), cuser.userid,d.name,m+1);  pip_log_record(genbuf);  /*记录终止*/  clear();  showtitle("电子养小鸡", BoardName);    show_basic_pic(20); /*生日快乐*/  pressanykey("小鸡长大一岁了..");  /*结局*/  if(tm%2==0)     pip_results_show();  if(tm>=21 && (d.wantend==4 || d.wantend==5 || d.wantend==6))     pip_ending_screen();     clrtobot();  refresh(); } color=37; m=tm;  if((rand()%30==29) && tm>=15 && d.charm>=300 && d.character >=300)    pip_marriage_offer();     if(mode!=1 && rand()%71==69)    pip_divine(); /*武官*/ if((time(0)-start_time)>=900 ) {

⌨️ 快捷键说明

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