C程序设计电子宠物_第1页
C程序设计电子宠物_第2页
C程序设计电子宠物_第3页
C程序设计电子宠物_第4页
C程序设计电子宠物_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include/建立一个宠物类/建立一个宠物类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;intgeta()returnage;intgeth()returnhunger;intgett()returnthirst;intgetm()returnmood;

2、intgethe()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;/提取各个私有成员/饥饿、口渴以及心情随时间的变化函数/各个数值的输出函数/各种特殊状态函数/喂食函数/喂水函数/看医生函数/抚摸函数/玩耍函数/提

3、取寿命值virtualvoidaction(intact,intw,intemg)virtualvoidaction(intact,intw,intemg)/主人采取各种动作函数,定义为纯虚函数private:intage;数private:intage;inthunger;intthirst;intmood;inthealth;intstep;inlinevoidpet:p2()intm;m=rand()%15;if(m5)mood=mood-2;elseif(m12)/年龄/饥饿值/口渴值/心情指数/健康指数/行动点数/饥饿、口渴以及心情随时间的变化函数mood-;elsemood+;ag

4、e+;hunger=hunger+;thirst=thirst+;)inlinevoidpet:show()各个数值的输出函数(cout现在的状态:endl;cout年龄:age;cout饥饿度:hunger;cout口渴度:thirst;cout心情指数:mood;cout健康指数:health;)inlinevoidpet:emergency(intemg)各种特殊状态函数(step=step+5;if(emg=20)health-;if(hunger=3)(mood-;cout主人,我已经很饿了。endl;)if(hunger=-2)(mood-;cout主人,我已经很饱了。3)(moo

5、d=mood-2;health-;cout再不给我吃东西,我就要饿死啦!endl;)if(hunger-2)(mood=mood-2;health-;cout再给我吃东西,我就要撑死啦!endl;)if(thirst=2)mood-;cout这天好热啊,主人,给口喝的吧。endl;if(thirst=-2)mood-;cout面对着一大杯水,你的宠物恶心地说道:主人,我已经喝够了。2)mood=mood-2;health-;cout伟大的主人在上,我已经渴的快受不鸟啦。endl;if(thirst-2)mood=mood-2;health-;cout好吧,我都喝撑的都吃不下饭了。6|thirs

6、t5)age=100;cout啊!天呐,你降道雷劈了这个万恶的主人吧!说完,某宠物口吐白沫,到底不起。5&thirst4)age=100;cout如果有来世的话,打死我也不跟你混了。endl;if(health-6)age=100;cout你骨瘦如柴的宠物最后饱含深情地看了你一眼,缓缓倒下了。endl;inlinevoidpet:touch(intw)/抚摸函数step=step-3;switch(w)case0:voidinstruction()voidinstruction()/饲养说明mood=mood+2;break;mood+;break;mood+;break;mood-;thir

7、st-;break;mood-;hunger-;break;inlinevoidpet:fun(intw)/玩耍函数step=step-8;switch(w)case0:mood=mood+2;break;hunger+;thirst+;health+;break;hunger=hunger+2;thirst+;health+;break;hunger+;thirst+;health+;break;cout饲养说明:endl;cout”每个时间段作为主人的你新增5点行动点,未用完可以累积到下一时段,初始有20点。endl;cout当行动点相当低时,出现badend,饲养结束。endl;cout

8、”每天有三个时间段,你可以进行5项操作,喂食、喂水、抚摸、玩耍、不做任何事。endl;cout行动点对应消耗:喂食5点,喂水3点,抚摸3点,玩耍8点。endl;cout选择不做任何事,则跳到下一时间段。endl;cout当饥饿与口渴相当低的时候,或者健康指数相当低的时候,会出现badend,宠物死亡。endl;cout当宠物年龄到达寿命极限时,出现happyend,宠物寿终正寝。endl;coutPS:不同的天气对宠物的心情和健康又影响。endl;cout在不同天气中进行抚摸玩耍会有特殊情况发生,请注意。endl;coutendl;classrabbit:virtualpublicpet/pe

9、t类派生的兔子类public:rabbit(intl=31)life=l;intgetl()returnlife;voidaction(intact,intw,intemg);/主人对小牛的动作函数,虚函数成员private:intlife;/兔子的寿命;inlinevoidrabbit:action(intact,intw,intemg)switch(act)case0:instruction();break;feed();break;drink();break;touch(w);break;fun(w);break;break;emg=0;doctor();break;classhorse

10、:virtualpublicpet/pet类派生的小马驹类public:horse(intl=41)life=l;intgetl()returnlife;voidaction(intact,intw,intemg);/主人对小牛的动作函数,虚函数成员private:intlife;/小马的寿命;inlinevoidhorse:action(intact,intw,intemg)switch(act)case0:instruction();break;feed();break;drink();break;touch(w);break;fun(w);break;break;emg=0;doctor

11、();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;feed();break;drink();break;touch(w);break;fun(w);break;bre

12、ak;emg=0;doctor();break;voidpetshop(intselect)/宠物外形switch(select)case1:cout恭喜,你已经领养了一只兔子。endl;coutendl;cout,-*,-*endl;cout(endl;cout)_.-._endl;cout_)/,*,*.endl;cout,*,-.*.endl;cout,*0*endl;cout(Y(;*;.endl;cout*-.,;endl;cout(_,*,-*_,*_,*endl;cout(_,-(,-*endl;coutendl;break;case2:cout恭喜,你已经领养了一匹小马驹。en

13、dl;coutcoutendl;coutendl;coutendl;coutcoutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;cout*一|I一*endl;cout/=/I1011011/=/endl;coutf-T|_11endl;cout1/Iendl;cout/endl;cout(00)endl;cout/./endl;cout|endl;cout1l/_/l1endl;cout11/I1endl;cout11|endl;cout1111endl;cout11

14、11endl;coutendl;break;voidperiod(intt)时间函数t=t%3;switch(t)casecasecasecasecasecase0:cout上午。1:cout”下午。2:cout晚上。endl;break;endl;break;endl;break;intweather();intweather()intw;w=rand()%5;switch(w)/天气函数casecasecasecasecase0:cout天气:1:coutcasecasecasecasecase0:cout天气:1:cout天气:2:cout天气:3:cout天气:4:cout天气:晴。e

15、ndl;break;阴。endl;break;小雨。暴雨。大风。endl;break;endl;break;getl();for(date=1;datelife;date+)/动态建立对象,实现领养/提取寿命/开始饲养,如无意外,则到寿命时循环结束cout今天是你领养第date日p2();while(t3)(emg=rand()%20;/t为控制时间整形调用饥饿、口渴以及心情随时间的变化函数控制时间的循环/emg为随机数,控制是否生病coutendl;cout现在是;period(t);调用时间函数coutendl;coutgetst();提取行动点数cout你的行动点数还有:Nstepend

16、l;coutshow();调用数值输出函数if(emg-19)=1)cout健康状况:生病endl;elsecout健康状况:良好endl;cout请选择你想做的事:endl;cout0、参看说明1、喂食2、喂水3、抚摸4、逗它玩耍5、不做任何事;if(emg-19)=1)cout6、看医生。endl;elsecoutendl;coutact;coutaction(act,w,emg);coutaction(act,w,emg);while(act+1)%6);petx-emergency(emg);Nage=petx-geta();if(Nagelife)(endl;调用主人动作函数调用特殊

17、状态函数提取年龄coutendl;cout很遗憾,由于饲养不善,你的宠物已经死亡。endl;coutendl;break;非正常死亡,badendif(Nstep0)coutendl;cout真不幸,宠物的饲养已经让你感到心力交瘁。endl;cout看来你和它共同的生活要就此告一段落了。endl;cout唉,你的修行还未够班啊,继续努力吧。endl;coutendl;break;非正常结束饲养,badendt+;coutlife|Nstep0)break;/非正常死亡,跳出循环system(cls);/调用系统清屏函数if(date=life)coutendl;cout恭喜,你的宠物已经寿终正寝。endl;正常死亡intadopt()/领养函数,实现宠物的领养intsel;intch1;charname10;cout现在宠物商店还有可以领养的宠物如下:endl;8a1、小兔2、小马驹3、小牛endl;coutsel;petshop(sel);coutname;8a你已经成功领养了一只叫做name的宠物。endl;coutendl;cout是否参看饲养说明:1、是2、否endl;coutch1;coutendl;if(ch1=1)/判断是否调用饲养说明函数instruction();/参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论