資源描述:
《Python第三次實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、安徽大學(xué)計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心12學(xué)號(hào)L81514034專業(yè)網(wǎng)絡(luò)工程姓名黃武偉實(shí)驗(yàn)日期12.11教師簽字成績(jī)實(shí)驗(yàn)報(bào)告【實(shí)驗(yàn)名稱】Python第三次實(shí)驗(yàn)【實(shí)驗(yàn)要求】1設(shè)計(jì)一個(gè)父類,表示游戲角色:派生出多個(gè)子類用于表示不同職業(yè)的角色。為每個(gè)類設(shè)置必要的屬性和方法,并實(shí)例化對(duì)象進(jìn)行測(cè)試。2(不使用數(shù)據(jù)庫(kù))設(shè)計(jì)一個(gè)密碼記錄及查詢小軟件,模擬記錄自己在各個(gè)網(wǎng)站上使用的賬號(hào)及密碼。要求自行設(shè)計(jì)存儲(chǔ)方式,并實(shí)現(xiàn)瀏覽、查詢、增加、刪除、修改等基本功能,可自行拓展其他功能安徽大學(xué)計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心12【實(shí)驗(yàn)內(nèi)容】1.此次的模擬
2、小游戲中有三種不同的角色定位,射手、戰(zhàn)士和輔助,每種定位都有自己的角色特點(diǎn),射手在攻擊時(shí)會(huì)用random.randint()函數(shù)產(chǎn)生一定量的暴擊傷害,戰(zhàn)士在血量低于35時(shí)會(huì)額外產(chǎn)生一定量的真實(shí)傷害,輔助會(huì)在戰(zhàn)斗前選擇使用回血技能,初始血量都為100,戰(zhàn)斗時(shí)護(hù)甲可以減去一定百分比的傷害,血量為0時(shí)角色死亡源代碼如下:importrandomclassGame(object):def__init__(self,name='',blood=100,defe=0,atk=0):self.setName(name)
3、self.setDefe(defe)self.setAtk(atk)self.setblood(blood)defsetblood(self,blood):self.blood=blooddefsetName(self,name):self.name=namedefsetDefe(self,defe):self.defe=defedefsetAtk(self,atk):self.atk=atk安徽大學(xué)計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心12classType1(Game):def__init__(self,name='',
4、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)生額外",k,"點(diǎn)暴擊傷害!(非真實(shí)傷害)")if(role<=0):role=0returnroledefgetblood(self):returnself.blo
5、oddefgetdefe(self):returnself.defedefbackblood(self,m):self.blood=mdefcheck(self):if(self.blood==0):print(self.name,"死亡,游戲結(jié)束!")i=0returnidefshow(self):print("英雄介紹:")print("昵稱:",self.name)print("定位:射手")print("攻擊力:",self.atk)print("防御:",self.defe)print("特點(diǎn):
6、攻擊時(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)安徽大學(xué)計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心12print("攻擊成功")if(role<=0):role=0returnroledefgetblood(se
7、lf):returnself.blooddefgetdefe(self):returnself.defedefbackblood(self,m):self.blood=mdefBD(self,role):if(self.blood<35):role=role-10print("觸發(fā)被動(dòng)怒火,對(duì)敵方造成額外10點(diǎn)真實(shí)傷害!")if(role<=0):role=0returnroledefcheck(self):if(self.blood==0):print(self.name,"死亡,游戲結(jié)束!")i=0r
8、eturnidefshow(self):print("英雄介紹:")print("昵稱:",self.name)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,