C++程序設計電子寵物_第1頁
C++程序設計電子寵物_第2頁
C++程序設計電子寵物_第3頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、#include<iostream>#include<stdlib.h>usingnamespacestd;classpet/建立一個寵物類public:pet(inta=0,inth=0,intt=0,intm=0,inthe=0,intst=15)/構造函數(shù)age=a;hunger=h;thirst=t;mood=m;health=he;step=st;intgeta()returnage;/提取各個私有成員intgeth()returnhunger;intgett()returnthirst;intgetm()returnmood;intgethe()return

2、health;intgetst()returnstep;voidp2();voidshow();voidemergency(intw);voidfeed()hunger-;step=step-5;/饑餓、口渴以及心情隨時間的變化函數(shù)/各個數(shù)值的輸出函數(shù)/各種特殊狀態(tài)函數(shù)/喂食函數(shù)voiddrink()thirst-;step=step-3;voiddoctor()step=step-10;voidtouch(intw);voidfun(intw);virtualintgetl()returnage;/喂水函數(shù)/看醫(yī)生函數(shù)/撫摸函數(shù)/玩耍函數(shù)/提取壽命值virtualvoidaction(int

3、act,intw,intemg)/主人采取各種動作函數(shù),定義為純虛函private:intage;inthunger;intthirst;intmood;inthealth;intstep;/年齡/饑餓值/口渴值/心情指數(shù)/健康指數(shù)/行動點數(shù)inlinevoidpet:p2()inlinevoidpet:p2()/饑餓、口渴以及心情隨時間的變化函數(shù)intm;m=rand()%15;if(m<5)mood=mood-2;elseif(m<12)mood-;elsemood+;age+;hunger=hunger+;thirst=thirst+;inlinevoidpet:show()

4、各個數(shù)值的輸出函數(shù)coutvv"現(xiàn)在的狀態(tài):"vvendl;coutvv"年齡:"vvage;coutvv"饑餓度:"vvhunger;coutvv"口渴度:"vvthirst;coutvv"心情指數(shù):"vvmood;coutvv"健康指數(shù):"vvhealth;inlinevoidpet:emergency(intemg)step=step+5;if(emg=20)health-;if(hunger=3)mood-;coutvv"主人,我已經(jīng)很餓了。if(hunge

5、r=-2)mood-;coutvv"主人,我已經(jīng)很飽了。if(hunger>3)mood=mood-2;inlinevoidpet:emergency(intemg)step=step+5;if(emg=20)health-;if(hunger=3)mood-;coutvv"主人,我已經(jīng)很餓了。if(hunger=-2)mood-;coutvv"主人,我已經(jīng)很飽了。if(hunger>3)mood=mood-2;/各種特殊狀態(tài)函數(shù)"vvendl;"vvendl;health-;health-;if(hunger<-2)mood

6、=mood-2;health-;if(thirst=2)mood-;coutvv"這天好熱啊,主人,給口喝的吧。"vvendl;if(thirst=-2)mood-;coutvv"面對著一大杯水,你的寵物惡心地說道:“主人,我已經(jīng)喝夠了?!?quot;vvendl;if(thirst>2)mood=mood-2;health-;coutvv"偉大的主人在上,我已經(jīng)渴的快受不鳥啦。"vvendl;if(thirstv-2)mood=mood-2;health-;coutvv"好吧,我都喝撐的都吃不下飯了。"vvendl;

7、if(hunger>6|thirst>5)age=100;coutvv"啊“!天吶,你降道雷劈了這個萬惡的主人吧!”說完,某寵物口吐白沫,到底不起。"vvendl;if(hunger>5&&thirst>4)age=100;coutvv"如果有來世的話,打死我也不跟你混了。"vvendl;if(healthv-6)age=100;/撫摸函數(shù)/撫摸函數(shù)inlinevoidpet:touch(intw)step=step-3;switch(w)case0:mood=mood+2;break;case1:mood+;br

8、eak;case2:mood+;break;case3:mood-;thirst-;break;case4:mood-;hunger-;break;/玩耍函數(shù)inlinevoidpet:fun(intw)step=step-8;switch(w)case0:mood=mood+2;break;case2:hunger+;thirst+;health+;break;case3:hunger=hunger+2;thirst+;health+;break;case4:hunger+;thirst+;health+;break;voidinstruction。/飼養(yǎng)說明coutvv"飼養(yǎng)說明

9、:"vvendl;coutvv"每個時間段作為主人的你5點行動點,未用完可以累積到下一時段,初始新增有20點。"vvendl;coutvv"當行動點相當?shù)蜁r,出現(xiàn)badend,飼養(yǎng)結束。"vvendl;coutvv"每天有三個時間段,你可以進行5項操作,喂食、喂水、撫摸、玩耍、不做任何事o"vvendl;coutvv"行動點對應消耗:喂食5點,喂水3點,撫摸3點,玩耍8點。"vvendl;coutvv"選擇不做任何事,則跳到下一時間段。"vvendl;coutvv"當饑餓與口

10、渴相當?shù)偷臅r候,或者健康指數(shù)相當?shù)偷臅r候,會出現(xiàn)badend,寵物死亡。"vvendl;coutvv"當寵物年齡到達壽命極限時,出現(xiàn)happyend,寵物壽終正"vvendl;寢。coutvv"PS:不同的天氣對寵物的心情和健康又影響。"vvendl;coutvv"在不同天氣中進行撫摸玩耍會有特殊情況發(fā)生,請注意。"vvendl;coutvv""vvendl;classrabbit:virtualpublicpetpublic:rabbit(intl=31)life=l;/pet類派生的兔子類intget

11、l()returnlife;voidaction(intact,intw,intemg);private:/主人對小牛的動作函數(shù),虛函數(shù)成員intlife;/兔子的壽命;inlinevoidrabbit:action(intact,intw,intemg)switch(act)case0:case1:feed();break;case2:drink();break;case3:touch(w);break;case4:fun(w);break;case5:break;case6:emg=0;doctor。;break;/類派生的小馬駒類petclasshorse:virtualpublicpe

12、tpublic:horse(intl=41)life=l;intgetl()returnlife;voidaction(intact,intw,intemg);private:/主人對小牛的動作函數(shù),虛函數(shù)成員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=

13、0;doctor();break;classcalf:virtualpublicpet/類派生的小牛類petpublic:calf(int1=51)life=l;intgetl()returnlife;虛函數(shù)成員voidaction(intact,intw,intemg);主人對小牛的動作函數(shù),private:intlife;小牛的壽命;inlinevoidcalf:action(intact,intw,intemg)switch(act)case0:instruction();break;case1:feed();break;case2:drink();break;case3:touch(w

14、);break;case4:fun(w);break;case5:break;case6:emg=O;doctor。;break;voidpetshop(intselect)寵物外形switch(select)case1:coutvv"恭喜,你已經(jīng)領養(yǎng)了一只兔子。"vvendl;"vvendl;coutvv"-"vvendl;coutvv"*廠5"vvendl;coutvv"("vvendl;coutvv")_.-"vvendl;coutvv"_)/,*,*"vve

15、ndcoutvv"5*l;*"vvendcoutvv"*50Il;vvendl;*coutvv"(Y(;*5vvendl;coutvv"*,"vvendl;coutvv"(_,-*"vvendl;coutvv"(,-(*"vvendl;coutvv"-"vvendl;break;case2:coutvv"恭喜,你已經(jīng)領養(yǎng)了一匹小馬駒。"vvendl;coutvv"-"vvendl;coutvv"%-*/./"vven

16、dl;coutvv"%/*"vvendl;coutvv"%*"vvendl;"vvendl;coutvv"%*"vvendl;"vvendl;coutvv"%*coutvv"%*coutvv"%*:*-(;coutvv"%*:*.*coutvv"%*coutvv"-II'vvendl;break;3:coutvv"恭喜,你已經(jīng)領養(yǎng)了一頭小牛犢。"vvendl;coutvv"-II'vvendl;coutvv&q

17、uot;coutvv"/coutvv"|coutvv"/coutvv"|/|coutvv"/=/|0|O|/=/"vvendl;coutvv"*"W|+|"vvendl;coutvv"|/7|coutvv"/"vvendl;"vvendl;"vvendl;"vvendl;case"vvendl;"vvendl;"vvendl;"vvendl;"vvendl;"vvendl;"v

18、vendl;coutvv""vvendl;coutvv"./"vvendl;coutvv""vvendl;coutvv""vvendl;coutvv"I|/_/|II|/|I"vvendl;|/|/|coutvv""vvendl;coutvv""vvendl;coutvv""vvendl;coutvv""vvendl;break;voidperiod(intt)/時間函數(shù)t=t%3;switch(t)case0:co

19、utvv"上午。"vvendl;break;case1:coutvv"下午。"vvendl;break;case2:coutvv"晚上。"vvendl;break;intweather()天氣函數(shù)intw;w=rand()%5;switch(w)case0:coutvv"天氣:晴。"vvendl;break;case1:coutvv"天氣:陰。"vvendl;break;case2:coutvv"天氣:小雨。"vvendl;break;case3:coutvv"天氣

20、:暴雨。"vvendl;break;case4:coutvv"天氣:大風。"vvendl;break;returnw;voidraise(intselect)intlife,date,w,act;intt=0;/動態(tài)建立對象,實現(xiàn)領養(yǎng)/動態(tài)建立對象,實現(xiàn)領養(yǎng)intemg,Nstep,Nage;pet*petx;switch(select)case1:petx=newrabbit;break;case2:petx=newhorse;break;case3:petx=newcalf;break;/提取壽命/開始飼養(yǎng),如無意外,則到壽命時循環(huán)結束/提取壽命/開始飼養(yǎng),如

21、無意外,則到壽命時循環(huán)結束life=petx->getl();for(date=1;date<life;date+)coutvv"今天是你領養(yǎng)第w=weather();t=t%3;petx->p2();while(t<3)emg=rand()%20;"vvdatevv"日"vvendl;/調(diào)用天氣函數(shù)t為控制時間整形/調(diào)用饑餓、口渴以及心情隨時間的變化函數(shù)/控制時間的循環(huán)e為隨機數(shù),控制是否生病mg"vvendcoutvv"現(xiàn)在是"period(t);/調(diào)用時間函數(shù)coutvv""

22、vvendl;/提取行動點數(shù)"vvNstepvvendl;/調(diào)用數(shù)值輸出函數(shù)/提取行動點數(shù)"vvNstepvvendl;/調(diào)用數(shù)值輸出函數(shù)coutvvendl;doNstep=petx->getst();coutvv"你的行動點數(shù)還有:coutvv"你的寵物"petx->show();if(emg-19)=1)coutvv"健康狀況:生病"vvendl;elsecoutvv"健康狀況:良好"vvendl;coutvv"請選擇你想做的事:一"vvendl;3、撫4、逗它玩5、

23、不做任'摸耍coutvv"0、參看說明1、喂食2、喂水何事"if(emg-19)=1)coutvv"6、看醫(yī)生。"vvendl;elsecoutvvendl;coutvv"請選擇:coutvv"cin>>act;"vvendl;/調(diào)用主人動作函數(shù)petx->action(act,w,emg);while(act+1)%6);petx->emergency(emg);Nage=petx->geta();if(Nage>life)/調(diào)用特殊狀態(tài)函數(shù)/提取年齡coutvv"&q

24、uot;vvendl;coutvv"很遺憾,由于飼養(yǎng)不善,你的寵物已經(jīng)死"vvendl;亡。coutvv""vvendl;break;非正常死亡,badendif(Nstepv0)coutvv""vvendl;coutvv"真不幸,寵物的飼養(yǎng)已經(jīng)讓你感到心力交瘁。"vvendl;coutvv"看來你和它共同的生活要就此告一段落了。"vvendl;coutvv"唉,你的修行還未夠班啊,繼續(xù)努力吧。"vvendl;coutvv""vvendl;break;/非正常結束飼badend養(yǎng),t+;coutvv""vvendl;if(Nage>life|Nstepv0)break;非正常死亡,跳出循環(huán)system("cls");調(diào)用系統(tǒng)清屏函數(shù)if(date=life)"vvendl;/正常死亡coutvv"coutvv"恭喜,你的寵物已經(jīng)壽終正"vvendl;寢。intsei;int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論