ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:40.49KB ,
资源ID:8829410      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8829410.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序设计电子宠物.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序设计电子宠物.docx

1、C程序设计电子宠物#include #include using namespace std; class pet/建立一个宠物类public:pet(int a=0,int h=0,int t=0,int m=0,int he=0,int st=15) age=a;hunger=h;thirst=t;mood=m;health=he;step=st; int geta() return age;/构造函数/提取各个私有成员int geth() return hunger; int gett() return thirst; int getm() return mood; int gethe(

2、) return health; int getst() return step; void p2();void show();void emergency(int w);void feed()hunger-; step=step-5;void drink() thirst-;step=step-3; void doctor() step=step-10; void touch(int w);void fun(int w); virtual int getl() return age;/饥饿、口渴以及心情随时间的变化函数/各个数值的输出函数/各种特殊状态函数/喂食函数/喂水函数/看医生函数/抚

3、摸函数/玩耍函数 /提取寿命值virtual void action(int act,int w,int emg) 数/主人采取各种动作函数,定义为纯虚函/年龄/饥饿值/口渴值/心情指数/健康指数/行动点数/饥饿、口渴以及心情随时间的变化函数private: int age; int hunger; int thirst; int mood; int health; int step;inline void pet:p2()int m; m=rand()%15; if(m5) mood=mood-2;else if(m12)mood-;elsemood+;age+; hunger=hunger

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

5、mood=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、喝撑的都吃不下饭了。 6|thirst5)age=100;cout 啊“!天呐,你降道雷劈了这个万恶的主人吧! ”说完,某宠物口吐白沫, 到底不起。 5&thirst4)age=100;cout 如果有来世的话,打死我也不跟你混了。 endl;if(health-6)age=100;cout 你骨瘦如柴的宠物最后饱含深情地看了你一眼,缓缓倒下了。 endl;inline void pet:touch(int w) /抚摸函数step=step-3;switch(w)case 0:mood=mood+2; break;case 1: mood+; break;case 2: mood+; bre

7、ak;case 3: mood-; thirst-; break;case 4: mood-; hunger-; break;inline void pet:fun(int w)step=step-8;switch(w)case 0: mood=mood+2; break;case 2: hunger+; thirst+; health+; break;case 3: hunger=hunger+2; thirst+; health+; break;case 4: hunger+; thirst+; health+; break;/玩耍函数/饲养说明void instruction()cout

8、 饲养说明: endl;cout 每个时间段作为主人的你新增 5 点行动点,未用完可以累积到下一时段,初始 有 20 点。 endl;cout当行动点相当低时,出现 bad end,饲养结束。e ndl;cout每天有三个时间段,你可以进行 5项操作,喂食、喂水、抚摸、玩耍、不做任何事。 endl;cout行动点对应消耗:喂食 5点,喂水3点,抚摸3点,玩耍8点。endl;cout 选择不做任何事,则跳到下一时间段。 endl;cout当饥饿与口渴相当低的时候,或者健康指数相当低的时候,会出现 bad end,宠物死亡。 endl;cout当宠物年龄到达寿命极限时,出现 happy end,宠

9、物寿终正寝。e ndl;coutPS :不同的天气对宠物的心情和健康又影响。 endl;cout在不同天气中进行抚摸玩耍会有特殊情况发生,请注意。 e ndl;cout endl;class rabbit:virtual public pet /pet 类派生的兔子类public:rabbit(int l=31)life=l;int getl()return life;void action(int act,int w,int emg); /主人对小牛的动作函数,虚函数成员private:int life; /兔子的寿命;inline void rabbit:action(int act,in

10、t w,int emg)switch(act)case 0: instruction();break;case 1:feed();break;case 2:drink();break;case 3: touch(w);break;case 4:fun(w);break;case 5:break;case 6:emg=0;doctor();break;class horse:virtual public pet /pet 类派生的小马驹类public:horse(int l=41)life=l;int getl()return life;void action(int act,int w,int

11、 emg); / 主人对小牛的动作函数,虚函数成员private:int life; /小马的寿命;inline void horse:action(int act,int w,int emg)switch(act)case 0:instruction();break;case 1:feed();break;case 2:drink();break;case 3: touch(w);break;case 4:fun(w);break;case 5:break;case 6:emg=0;doctor();break;class calf:virtual public pet /pet 类派生的小

12、牛类public:calf(int l=51) life=l;int getl()return life;虚函数成员void action(int act,int w,int emg); / 主人对小牛的动作函数,private:int life; / 小牛的寿命;inline void calf:action(int act,int w,int emg)switch(act)case 0:instruction();break;case 1:feed();break;case 2:drink();break;case 3:touch(w);break;case 4:fun(w);break;

13、case 5:break;case 6:emg=0;doctor();break;void petshop(int select) /宠物外形switch(select)coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;coutendl;case 1:cout 恭喜,cout 你已经领养了一只兔子。endl; endl;cout* *J Jendl;cout( ( (endl;cout ) ) _.-endl;cout_)/ ,*,*endl;cout*J*J endl;cout*J

14、0 * endl;cout(Y(J endl;cout*_, J Jendl;cout(_ ,* *J* *J Jendl;cout(_,- ( *Jendl;cout endl;break;case 2:cout 恭喜,你已经领养了一匹小马驹。endl;cout endl;%_,_,%-*/./%-* / *.%* . ,-;%* : O%* : *.%* *. -, *%* .*-.- *.%* : *-. (,; %* : *.-.*endl;cout break;endl;-endl;-endl;/ /case 3:你已经领养了一头小牛犊。cout 恭喜,cout coutendl;e

15、ndl;cout/ / / /endl;cout| | | |endl;cout/endl;cout/-_| / |_-cout/ =/| | O| |O | |/ = / endl;cout-_- | |_-+-+ _| | -_- endl;endl;cout|/|endl;cout/endl;cout(O O )endl;cout/./endl;cout- -|endl;cout| |/_/| |endl;cout| |/| |endl;cout| / |endl;cout| | | |endl;cout| | | |cout break;-endl;void period(int t)

16、 /时间函数t=t%3;switch(t)case 0:cout 上午。 endl;break; case 1:cout 下午。 endl;break; case 2:cout 晚上。 endl;break;int weather() int w;w=rand()%5;switch(w)case 0:cout 天气:晴。endl;break;case 1:cout 天气:阴。endl;break;case 2:cout 天气:小雨。endl;break;case 3:cout 天气:暴雨。endl;break;case 4:cout 天气 return w;:大风。getl();for(dat

17、e=1;datep2();while(t3)emg=rand()%20;/调用天气函数/t 为控制时间整形/调用饥饿、口渴以及心情随时间的变化函数/控制时间的循环/emg 为随机数,控制是否生病coutendl;cout 现在是 ; period(t); cout /调用时间函数endl;coutendl; do 生病 getst(); cout 你的行动点数还有: coutshow(); if(emg-19)=1)cout 健康状况:/提取行动点数Nstependl;/调用数值输出函数else良好 endl;endl;cout 健康状况: cout 请选择你想做的事: cout0 、参看说明

18、 1、喂食 2、喂水 3、抚摸 4、逗它玩耍 5、不做任何事 ;if(emg-19)=1)cout 6 、看医生。 endl; elsecoutendl; coutact; endl;cout 很遗憾,由于饲养不善,你的宠物已经死亡。 endl;cout endl;break; / 非正常死亡, bad endif(Nstep0)cout endl;cout 真不幸,宠物的饲养已经让你感到心力交瘁。 endl; cout 看来你和它共同的生活要就此告一段落了。 endl; cout 唉,你的修行还未够班啊,继续努力吧。 endl;cout endl;break; / 非正常结束饲养, bad

19、endt+;cout life|Nstep0)break; / 非正常死亡,跳出循环 system(cls); / 调用系统清屏函数if(date=life)cout endl;cout 恭喜,你的宠物已经寿终正寝。 endl; /正常死亡int adopt() / 领养函数,实现宠物的领养int sel;int ch1;char name10;cout 现在宠物商店还有可以领养的宠物如下: endl;cout1 、小兔 2、小马驹 3、小牛 endl;coutsel; petshop(sel); coutname;cout 你已经成功领养了一只叫做 name 的宠物。 endl;cout e

20、ndl;cout是否参看饲养说明: 1、是 2、否endl;coutch1;cout if(ch1=1) instruction();return sel;int main()int choose=0; while(!choose)cout /判断是否调用饲养说明函数/参看饲养说明/返回所选择的种类/实现整个函数的循环endl;endl;int ch,ch2;int sel;sel=adopt(); / 调用领养函数,返回所选种类cout 是否开始饲养现有宠物: 1、是 2、否 endl; coutch; /判断是否开始饲养cout1*if(ch=1)raise(sel); / 调用饲养函数/判断是否继续领养宠物cout 是否需要继续领养宠物: 1、是 2、退出程序 endl; coutch;choose=ch-1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1