


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计电子宠物#include<iostream>#include<stdlib.h>usingnamespacestd;classpet/t立一个宠物类public:pet(inta=0,inth=0,intt=0,intm=0,inthe=0,intst=15)构造函数age=a;hunger=h;thirst=t;mood=m;health=he;step=st;intgeta()returnage;/提取各个私有成员intgeth()returnhunger;intgett()returnthirst;intgetm()returnmood;intgeth
2、e()returnhealth;intgetst()returnstep;voidp2();饥饿、口渴以及心情随时间的变化函数voidshow();各个数值的输出函数voidemergency(intw);各种特殊状态函数voidfeed()/喂食函数hunger-;step=step-5;voiddrink()thirst-;step=step-3;/喂水函数voiddoctor()step=step-10;看医生函数voidtouch(intw);抚摸函数voidfun(intw);玩要函数virtualintgetl()returnage;/提取寿命值virtualvoidaction(
3、intact,intw,intemg)/主人采取各种动作函数,定义为纯虚函数private:作龄intage;inthunger;/伽饿值intthirst;口渴值intmood;心情指数inthealth;/健康指数intstep;/f亍动点数;inlinevoidpet:p2()饥饿、口渴以及心情随时间的变化函数intm;m=rand()%15;if(m<5)mood=mood-2;elseif(m<12)mood-;elsemood+;age+;hunger=hunger+;thirst=thirst+;inlinevoidpet:show()各个数值的输出函数(cout&l
4、t;<”现在的状态:"<<endl;cout<<”年龄:"<<age;cout<<"饥饿度:"<<hunger;cout<<"口渴度:"<<thirst;cout<<”心情指数:"<<mood;cout<<"健康指数:"<<health;inlinevoidpet:emergency(intemg)/唇中特殊状态函数(step=step+5;if(emg=20)heal
5、th-;if(hunger=3)(mood-;cout<<"主人,我已经很饿了。"<<endl;if(hunger=-2)(mood-;cout<<"主人,我已经很饱了。"<<endl;if(hunger>3)(mood=mood-2;health-;cout<<"再不给我吃东西,我就要饿死啦!"<<endl;if(hunger<-2)(mood=mood-2;health-;cout<<"再给我吃东西,我就要撑死啦!"
6、<<endl;if(thirst=2)(mood-;cout<<"这天好热啊,主人,给口喝的吧。"<<endl;if(thirst=-2)(mood-;cout<<"面对着一大杯水,你的宠物恶心地说道:生人,我已经喝够了。”"<<endl;if(thirst>2)(mood=mood-2;health-;cout<<"伟大的主人在上,我已经渴的快受不鸟啦。"<<endl;if(thirst<-2)(mood=mood-2;health-;c
7、out<<"好吧,我都喝撑的都吃不下饭了。"<<endl;if(hunger>6|thirst>5)(age=100;cout<<"啊!天呐,你降道雷劈了这个万恶的主人吧!”说完,某宠物口吐白沫,到底不起。"<<endl;if(hunger>5&&thirst>4)(age=100;cout<<"如果有来世的话,打死我也不跟你混了。"<<endl;if(health<-6)(age=100;cout<<&q
8、uot;你骨瘦如柴的宠物最后饱含深情地看了你一眼,缓缓倒下了。"<<endl;inlinevoidpet:touch(intw)抚摸函数(step=step-3;switch(w)(case0:mood=mood+2;break;case1:mood+;break;case2:mood+;break;case3:mood-;thirst-;break;case4:mood-;hunger-;break;inlinevoidpet:fun(intw)/玩耍函数(step=step-8;switch(w)(case0:mood=mood+2;break;case2:hunge
9、r+;thirst+;health+;break;case3:hunger=hunger+2;thirst+;health+;break;case4:hunger+;thirst+;health+;break;voidinstruction()饲养说明(cout<<"饲养说明:"<<endl;cout<<"每个时间段作为主人的你新增5点行动点,未用完可以累积到下一时段,初始有20点。"<<endl;cout<<”当行动点相当低时,出现badend饲养结束。"<<endl;c
10、out<<"每天有三个时间段,你可以进行5项操作,喂食、喂水、抚摸、玩耍、不做任何事。"<<endl;cout<<”行动点对应消耗:喂食5点,喂水3点,抚摸3点,玩耍8点。"<<endl;cout<<"选择不做任何事,贝U跳至U下一时间段。"<<endl;cout<<"当饥饿与口渴相当低的时候,或者健康指数相当低的时候,会出现badenq宠物死亡。"<<endl;cout<<"当宠物年龄到达寿命极限时,出现h
11、appyend,宠物寿终正寝。"<<endl;cout<<"PS:不同的天气对宠物的心情和健康乂影响。"<<endl;cout<<"在不同天气中进行抚摸玩耍会有特殊情况发生,请注意。"<<endl;cout<<""<<endl;classrabbit:virtualpublicpet/pet类派生的兔子类(public:rabbit(intl=31)(life=l;intgetl()(returnlife;voidaction(intact,
12、intw,intemg);主人对小牛的动作函数,虚函数成员private:intlife;兔子的寿命;inlinevoidrabbit:action(intact,intw,intemg)(switch(act)(case0:instruction();break;case1:feed();break;case2:drink();break;case3:touch(w);break;case4:fun(w);break;case5:break;case6:emg=0;doctor();break;classhorse:virtualpublicpet/pet类派生的小马驹类(public:ho
13、rse(intl=41)(life=l;intgetl()(returnlife;voidaction(intact,intw,intemg);主人对小牛的动作函数,虚函数成员private:intlife;小马的寿命;inlinevoidhorse:action(intact,intw,intemg)(switch(act)(case0:instruction();break;case1:feed();break;case2:drink();break;case3:touch(w);break;case4:fun(w);break;case5:break;case6:emg=0;doctor
14、();break;classcalf:virtualpublicpet/pet类派生的小牛类(public:calf(intl=51)(life=l;intgetl()(returnlife;voidaction(intact,intw,intemg);主人对小牛的动作函数,虚函数成员private:intlife;小牛的寿命;inlinevoidcalf:action(intact,intw,intemg)(switch(act)(case0:instruction();break;case1:feed();break;case2:drink();break;case3:touch(w);b
15、reak;case4:fun(w);break;case5:break;case6:emg=0;doctor();break;voidpetshop(intselect)/庞物外形(switch(select)(case1:cout<<"恭喜,你已经领养了一只兔子。"<<endl;cout<<"-"<<endl;cout<<"-*-*,"<<endl;cout<<"("<<endl;cout<<")
16、_.-._"<<endl;cout<<"_)/,*,*."<<endl;cout<<"*_*,."<<endl;cout<<"*0*'*"<<endl;cout<<"(Y(;*."<<endl;cout<<"*-.,;"<<endl;cout<<"(-一*(_,"<<endl;cout<<&q
17、uot;(_,-(,-*"<<endl;cout<<"-"<<endl;break;case2:cout<<"恭喜,你已经领养了一匹小马驹。"<<endl;cout<<"-"<<endl;cout<<"%,,"<<endl;cout<<"%-*/./"<<endl;cout<<"%-*/*."<<endl;cou
18、t<<"%*.,-;"<<endl;cout<<"%*:O"<<endl;cout<<"%*:*."<<endl;cout<<"%*.-,*"<<endl;cout<<"%*-.*."<<endl;cout<<"%*:*-.(""<<endl;cout<<"%*:*.-.*"<<e
19、ndl;cout<<"%*;"<<endl;cout<<"-"<<endl;break;case3:-"<<endl;cout<<"恭喜,你已经领养了一头小牛犊。"<<endl;cout<<"/"<<endl;cout<<"/"<<endl;cout<<"|"<<endl;cout<<"/&
20、quot;<<endl;cout<<"/_|/|_"<<endl;cout<<"/=/|O|O|/=/"<<endl;cout<<"-一-|_+-+_|-_-"<<endl;cout<<"|/|"<<endl;cout<<"/"<<endl;cout<<"(OO)"<<endl;cout<<"/./&
21、quot;<<endl;cout<<"-|"<<endl;cout<<"|/_/|"<<endl;cout<<"|/|"<<endl;cout<<"|/|"<<endl;cout<<"|"<<endl;cout<<"|"<<endl;cout<<"cout<<"break;-&q
22、uot;<<endl;voidperiod(intt)时间函数(t=t%3;switch(t)(case0:cout<<吐午。"<<endl;break;case1:cout<<'T午。"<<endl;break;case2:cout<<晚上。"<<endl;break;intweather()/庆气函数(intw;w=rand()%5;switch(w)(case0:cout<<天气:晴。"<<endl;break;case1:cout&
23、lt;<天气:阴。"<<endl;break;case2:cout<<'天气:小雨。"<<endl;break;case3:cout<<'天气:暴雨。"<<endl;break;case4:cout<<'天气:大风。"<<endl;break;returnw;voidraise(intselect)(intlife,date,w,act;intt=0;intemg,Nstep,Nage;pet*petx;她态建立对象,实现领养switch(s
24、elect)(case1:petx=newrabbit;break;case2:petx=newhorse;break;case3:petx=newcalf;break;life=petx->getl();提取寿命for(date=1;date<life;date+)/开始饲养,如无意外,则到寿命时循环结束(cout<<"今天是你领养第"<<date<<"日"<<endl;w=weather();/调用天气函数t=t%3;/t为控制时间整形petx->p2();/调用饥饿、口渴以及心情随时
25、间的变化函数while(t<3)控制时间的循环(emg=rand()%20;/em必随机数,控制是否生病cout<<""<<endlcout<<"现在是"period(t);/调用时间函数cout<<""<<endl;cout<<endl;do(Nstep=petx->getst();/提取行动点数cout<<"你的行动点数还有:"<<Nstep<<endl;cout<<"你
26、的宠物"petx->show();/碉用数值输出函数if(emg-19)=1)cout<<"健康状况:生病"<<endl;elsecout<<"健康状况:良好"<<endl;cout<<"请选择你想做的事:"<<endl;coutv<"0、参看说明1、喂食2、喂水3、抚换4、以它玩耍5、不做任何事"if(emg-19)=1)coutvv"6、看医生。"vvendl;elsecoutvvendl;cout
27、vv"请选择:";cin>>act;coutvv""vvendl;petx->action(act,w,emg);/倜用主人动作函数while(act+1)%6);petx->emergency(emg);皿用特殊状态函数Nage=petx->geta();馄取年龄if(Nage>life)(coutvv""vvendl;coutvv”很遗憾,由丁饲养不善,你的宠物已经死亡。"vvendl;coutvv""vvendl;break;非正常死亡,badendif(Nste
28、pv0)(coutvv""vvendl;coutvv”真不幸,宠物的饲养已经让你感到心力交瘁。"vvendl;cout<<"看来你和它共同的生活要就此告一段落了。"<<endl;cout<<"唉,你的修行还未够班啊,继续努力吧。"<<endl;cout<<""<<endl;break;非正常结束饲养,badendt+;cout<<""<<endl;if(Nage>life|Nstep<0)break;/能正常死亡,跳出循环system("cls");/WI用系统活屏函数if(date=life)cout<<"-"<<endl;cout<<"恭喜,你的宠物已经寿终正寝。"<<endl;正常死亡intadopt()例养函数,实现宠物的领养intsel;intch1;charname10;cout<<"现在宠物商店还有可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版全新房产租赁抵押贷款委托合同
- 2025版财务合规性评估与会计顾问服务合同
- 诺如病毒胃肠炎知识培训课件
- 2025年古建筑修复用吊顶安装施工合同
- 2025年度事业单位临时聘用合同(含合同续签与终止)
- 2025出国留学海外实习项目合作与服务协议
- 2025年度城市更新土石方运输工程合作协议
- 2025年度森林碳汇项目树木种植与碳交易服务合同
- 红酒品鉴师west课件
- 2025年新建住宅区回迁安置房买卖合同(选房尚未开始)
- 资阳市安岳县县属国有企业招聘(33人)考前自测高频考点模拟试题附答案详解
- 2025北京平谷区初三二模数学试题及答案
- 2025年四川省资阳市中考真题化学试题(无答案)
- 2025年中级会计职称考试经济法冲刺试题及答案
- 2025年事业单位工勤技能-福建-福建行政岗位工四级(中级工)历年参考题库典型考点含答案解析
- 2025年应急通信保障中心招聘笔试预测试题及答案
- 2025-2026学年苏少版(新疆专用2024)小学综合实践四年级上册《遇见草木染》教学设计
- 保安培训课件45张
- 成人肺功能检查技术进展及临床应用指南课件
- 2025-2030牛肉分销渠道冲突与供应链协同优化报告
- 肿瘤科中医护士进修汇报
评论
0/150
提交评论