Python第三次實(shí)驗(yàn)設(shè)計(jì)_第1頁(yè)
Python第三次實(shí)驗(yàn)設(shè)計(jì)_第2頁(yè)
Python第三次實(shí)驗(yàn)設(shè)計(jì)_第3頁(yè)
Python第三次實(shí)驗(yàn)設(shè)計(jì)_第4頁(yè)
Python第三次實(shí)驗(yàn)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)號(hào)L81514034專(zhuān)業(yè)網(wǎng)絡(luò)工程姓名黃武偉實(shí)驗(yàn)日期12.11教師簽字成績(jī)實(shí)驗(yàn)名稱(chēng)Python第三次實(shí)驗(yàn)【實(shí)驗(yàn)要求】1設(shè)計(jì)一個(gè)父類(lèi),表示游戲角色:派生出多個(gè)子類(lèi)用于表示不同職業(yè)的角色。為每個(gè)類(lèi)設(shè)置必要的屬性和方法,弁實(shí)例化對(duì)象進(jìn)行測(cè)試。2(不使用數(shù)據(jù)庫(kù))設(shè)計(jì)一個(gè)密碼記錄及查詢(xún)小軟件,模擬記錄自己在各個(gè)網(wǎng)站上使用的賬號(hào)及密碼。要求自行設(shè)計(jì)存儲(chǔ)方式,弁實(shí)現(xiàn)瀏覽、查詢(xún)、增加、刪除、修改等基本功能,可自行拓展其他功能【實(shí)驗(yàn)內(nèi)容】1.此次的模擬小游戲中有三種不同的角色定位,射手、戰(zhàn)士和輔助,每種定位都有自己的角色特點(diǎn),射手在攻擊時(shí)會(huì)用random.randint()函數(shù)產(chǎn)生一定量的暴擊傷害,戰(zhàn)士在血量低

2、于35時(shí)會(huì)額外產(chǎn)生一定量的真實(shí)傷害,輔助會(huì)在戰(zhàn)斗前選擇使用回血技能,初始血量都為100,戰(zhàn)斗時(shí)護(hù)甲可以減去一定百分比的傷害,血量為0時(shí)角色死亡源代碼如下:importrandomclassGameObject):def_init_(self,name='',blood=100,defe=0,atk=0):self.setName(name)self.setDefe(defe)self.setAtk(atk)self.setb100d(blood)defsetblood(self,blood):self.blood=blooddefsetName(self,name):self.

3、name=namedefsetDefe(self,defe):self.defe=defedefsetAtk(self,atk):self.atk=atkclassType1(Game):def_init_(self,name='',blood=100,defe=10,atk=30):Game._init_(self,name,blood,defe,atk)defAttack(self,role,defe):k=random.randint(10,30)role=role-self.atk-k+(self.atk+k)*(defe/100)print("攻擊成功,并產(chǎn)

4、生額外",k,"點(diǎn)暴擊傷害!(非真實(shí)傷害)")if(role<=0):role=0defgetblood(self):returnself.blooddefgetdefe(self):returnself.defedefbackblood(self,m):self.blood=mdefcheck(self):if(self.blood=0):print(,"死亡,游戲結(jié)束!”)i=0returnidefshow(self):print("英雄介紹:")print("昵稱(chēng):",self.nam

5、e)print("定位:射手")print("攻擊力:",self.atk)print("防御:",self.defe)print("特點(diǎn):攻擊時(shí)會(huì)產(chǎn)生一定的暴擊!")classType2(Game):def_init_(self,name='',blood=100,defe=30,atk=20):Game._init_(self,name,blood,defe,atk)defAttack(self,role,defe):role=role-self.atk+self.atk*(defe/100)p

6、rint("攻擊成功")if(role<=0):role=0returnroledefgetblood(self):returnself.blooddefgetdefe(self):returnself.defedefbackblood(self,m):self.blood=mdefBD(self,role):role=role-10print("觸發(fā)被動(dòng)怒火,對(duì)敵方造成額外10點(diǎn)真實(shí)傷害!")if(role<=0):role=0returnroledefcheck(self):if(self.blood=0):print(

7、,"死亡,游戲結(jié)束!”)i=0returnidefshow(self):print("英雄介紹:")print("昵稱(chēng):",)print("定位:坦克")print("攻擊力:",self.atk)print("防御:",self.defe)print("特點(diǎn):當(dāng)血量少于35時(shí)會(huì)觸發(fā)被動(dòng)怒火,對(duì)敵方造成額外10點(diǎn)的真實(shí)傷害,無(wú)視護(hù)甲!)classType3(Game):def_init_(self,name='',blood=100,defe

8、=30,atk=20):Game._init_(self,name,blood,defe,atk)defAttack(self,role,defe):role=role-self.atk+self.atk*(defe/100)print("攻擊成功")if(role<=0):role=0returnroledefgetblood(self):returnself.blooddefgetdefe(self):returnself.blooddefbackblood(self,m):self.blood=mdefRECself):if(self.blood=100):pr

9、int("血量已滿(mǎn),回血失??!")self.blood=self.blood+random.randint(0,40)if(self.blood>=100):self.blood=100print("回血成功!")defcheck(self):if(self.blood=0):print(,"死亡,游戲結(jié)束!")i=0returnidefshow(self):print("英雄介紹:")print("昵稱(chēng):",)print("定位:輔助&quo

10、t;)print("攻擊力:",self.atk)print("防御:",self.defe)print("特點(diǎn):作戰(zhàn)中受到傷害可選擇觸發(fā)恢復(fù)血量技能!")print ("*請(qǐng)創(chuàng)建角色!*“print("請(qǐng)輸入要?jiǎng)?chuàng)建角色的類(lèi)型:(1、射手2、坦克3、輔助)")x=input()print("請(qǐng)輸入角色1的昵稱(chēng)")str1=input()if(x='1'):role1=Type1(name=str1)role1.show()if(x='2'):role1=

11、Type2(name=str1)role1.show()if(x='3'):role1=Type3(name=str1)role1.show()print("角色1創(chuàng)建成功!n")print("請(qǐng)輸入要?jiǎng)?chuàng)建角色的類(lèi)型:(1、射手2、坦克3、輔助)")x=input()print("請(qǐng)輸入角色2的昵稱(chēng)")str2=input()if(x='1'):role2=Type1(name=str2)role2.show()if(x='2'):role2=Type2(name=str2)role2.

12、show()role2=Type3(name=str2)role2.show()print("角色2創(chuàng)建成功!n")print("游戲開(kāi)始!")i=1print("雙方開(kāi)始攻擊,發(fā)動(dòng)攻擊技能!")while(1):Iprint(strl,"開(kāi)始攻擊!")x1=role2.getblood()x2=role2.getdefe()Ix1=role1.Attack(x1,x2)Irole2.backblood(x1)print("敵方還剩血量",x1)i=role2.check()if(i=0):br

13、eakprint(str2,"開(kāi)始攻擊!")y1=role1.getblood()y2=role1.getdefe()y1=role2.Attack(y1,y2)role1.backblood(y1)print("敵方還剩血量",y1)i=role1.check()if(i=0):break截圖如下:*率*組善創(chuàng)建褚魚(yú)!出*率*P清輸入要?jiǎng)?chuàng)建甬色的類(lèi)型;門(mén)、射手入坦克八蛹助)*請(qǐng)輸入角色1的昵標(biāo)上即英她介紹:眼稱(chēng).定位射手攻擊力.即防御10特點(diǎn).攻擊時(shí)會(huì)產(chǎn)生一定的累擊!角色創(chuàng)建成功,清輸入要?jiǎng)?chuàng)建角色瞪空:11、射手入坦克K輔助)fl請(qǐng)輸入角色二的呢林Ji

14、es英蚱介紹:昵稱(chēng):hcs定位坦克攻擊力:2B防御.30特點(diǎn).當(dāng)血里少于茄時(shí)會(huì)觸發(fā)被動(dòng)怒火-又撤方造成額外10點(diǎn)的直買(mǎi)傷恚,無(wú)視護(hù)甲=情色?創(chuàng)建成功靜技開(kāi)始!荻方開(kāi)始攻擊,發(fā)動(dòng)攻擊技能!k,開(kāi)始攻擊!攻擊成功,并產(chǎn)生額外L。點(diǎn)累擊傷害!非真興飭害)劭方還刺m里;二.。人耳開(kāi)始攻擊!:正方開(kāi)始攻擊,發(fā)動(dòng)攻擊技能!hE開(kāi)始攻擊!攻擊感功,并產(chǎn)生額外10點(diǎn)累擊傷害!非真實(shí)傷害1敵方還剩血量口一開(kāi)始攻擊!政擊成功敵方還剩面里E?。hg開(kāi)始攻擊!攻擊成功,并產(chǎn)生額外15點(diǎn)累擊傷事!,非真實(shí)4度1劭方還到血里仙5h”開(kāi)蛤攻擊:獨(dú)擊成功敵方逐剩血里64口,he開(kāi)始攻擊!攻擊成功,并產(chǎn)生額外11點(diǎn)暴擊傷害非宜

15、實(shí)偉室敵方還剌血重1179999B999999999he弁始攻擊!攻擊成功84方還剩血量如Q瓜下開(kāi)始攻擊:攻擊成功,并產(chǎn)生額外”點(diǎn)累擊傷害!,非真實(shí)傷害;敵方還剩面里。he死亡,聲戲結(jié)束!2本模擬賬號(hào)管理系統(tǒng)有刪除、加入、查看等一系列基本操作,另外在查詢(xún)時(shí)可以選擇按照賬號(hào)類(lèi)型進(jìn)行查詢(xún),也可以選擇利用給出的賬號(hào)查詢(xún)所對(duì)應(yīng)的密碼,加入新賬號(hào)時(shí)也要為新加入的賬號(hào)進(jìn)行分類(lèi),這樣給使用時(shí)帶來(lái)了方便源代碼如下:f1=open('C:UsersHWWDesktopzhang.txt')print("歡迎使用賬號(hào)管理系統(tǒng),請(qǐng)輸入相應(yīng)功能的編號(hào)")print("1、

16、查詢(xún)賬號(hào)2、存儲(chǔ)新賬號(hào)3、查看所有賬號(hào)4、刪除賬號(hào)5、退出系統(tǒng)")x=input()if(x='1'):fl=open('C:UsersHWWDesktopzhang.txt','r')print("請(qǐng)選擇查詢(xún)方式")print("1、按賬號(hào)類(lèi)型查詢(xún)2、按給出賬號(hào)查詢(xún)密碼")y=input()if(y='1'):print("1、社交2、購(gòu)物3、理財(cái)4、游戲")y1=input()if(y1='1'):print("社交賬號(hào)如下:&qu

17、ot;)forlineinf1.readlines()2:len(f1.readlines()-1:a=line.split(')',1)if(a0=('(社交'):Iprint(a1)If1.close()if(y1='2'):print("購(gòu)物賬號(hào)如下:")forlineinf1.readlines()2:len(f1.readlines()-1:a=line.split(,)',1)if(a0=('(購(gòu)物):print(a1)f1.close()if(y1='3'):print("

18、;理財(cái)賬號(hào)如下:")forlineinf1.readlines()2:len(f1.readlines()-1:a=line.split(')',1)if(a0=('(理財(cái)'):print(a1)f1.close()if(y1='4'):print("游戲賬號(hào)如下:")forlineinf1.readlines()2:len(f1.readlines()-1:a=line.split(,)',1)if(a0=('(游戲'):print(a1)f1.close()if(y='2'

19、):f1=open('C:UsersHWWDesktopzhang.txt','r')print("請(qǐng)輸入要相應(yīng)的用戶(hù)賬號(hào)")y2=input()m=0;forlineinf1.readlines()2:len(f1.readlines()-1:a=line.split(':',1)a1=a1.split('',1)if(y2=a10):m=1print(line)print("密碼查找成功!")if(m=0):print("你要查詢(xún)的賬號(hào)不存在,查詢(xún)失??!")print

20、("請(qǐng)選擇存儲(chǔ)賬號(hào)類(lèi)型")print("1、社交2、購(gòu)物3、理財(cái)4、游戲")x1=input()if(x1=1'):print("請(qǐng)輸入應(yīng)用名稱(chēng)")k=input()print("請(qǐng)輸入賬號(hào)")Ik1=input()Iprint("請(qǐng)輸入密碼")k2=input()str="(社交)"+k+''+"賬號(hào):"+k1+''+"密碼:"+k2+'n'f1=open('C:User

21、sHWWDesktopzhang.txt','a+')f1.write(str)print("賬號(hào)存儲(chǔ)成功")f1.close()if(x1='2'):print("請(qǐng)輸入應(yīng)用名稱(chēng)")k=input()print("請(qǐng)輸入賬號(hào)")k1=input()print("請(qǐng)輸入密碼")k2=input()str="(購(gòu)物)"+k+''+"賬號(hào):"+k1+''+"密碼:"+k2+'nf1

22、=open('C:UsersHWWDesktopzhang.txt','a+')f1.write(str)print("賬號(hào)存儲(chǔ)成功")f1.close()if(x1='3'):print("請(qǐng)輸入應(yīng)用名稱(chēng)")k=input()print("請(qǐng)輸入賬號(hào)")k1=input()print("請(qǐng)輸入密碼")k2=input()str="(理財(cái))"+k+''+"賬號(hào):"+k1+''+"密碼:&

23、quot;+k2+'nf1=open('C:UsersHWWDesktopzhang.txt','a+')f1.write(str)print("賬號(hào)存儲(chǔ)成功")f1.close()if(x1='4'):print("請(qǐng)輸入應(yīng)用名稱(chēng)")k=input()print("請(qǐng)輸入賬號(hào)")k1=input()Ik2=input()str="(游戲)"+k+''+"賬號(hào):"+k1+''+"密碼:"+k2+'n'fl=open('C:UsersHWWDesktopzhang.txt','a+')Ifl.write(str)Iprint("賬號(hào)存儲(chǔ)成功")f1.close()if(x='3'):f1=open('C:UsersHWWDesktopzhang.txt','r')forlineinf1:Iprint(line,end=")If1.clo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論