1009作业
1.什么是对象,什么是类
对象:是一系列方法与特征的集合体,python中万物皆对象
类: 具有一系列相同特征的对象的结合体
2.绑定方法有什么特点
类内部的函数主要是由对象引用
- 当类调用类中函数时,函数是普通的函数,需传值
- 当对象来调用类中函数时,称之为对象的绑定方法
会把对象当做参数传入该绑定方法中
不同的对象调用该方法,将不同的对象传入该绑定方法
3.基于面向对象设计对战游戏
'''定义英雄'''
class yasuo:
def __init__(self, name,
aggr=54,
life=414,
money=6300,
armor=60):
self.name = name # 你的游戏id
self.aggr = aggr # 攻击力
self.life = life # 血量
self.money = money # 售价
self.armor = armor # 护甲
def skill(self,enemy): # 定义攻击技能,enemy是敌人
vaild_aggr = self.aggr - enemy.armor # 有效伤害 = 攻击力减护甲
if enemy.life <= 0:
return True
enemy.life -= vaild_aggr
print(f'''
{r2.name}攻击{r1.name}
{r1.name}受到{r1.aggr}伤害
{r1.name}还有{r1.life}血量
''')
class timo:
def __init__(self, name,
aggr=44,
life=400,
money=450,
armor=40):
self.name = name
self.aggr = aggr
self.life = life
self.money = money
self.armor = armor
def skill(self,enemy): # 定义攻击技能,enemy是敌人
vaild_aggr = self.aggr - enemy.armor # 有效伤害 = 攻击力减护甲
enemy.life -= vaild_aggr
if enemy.life <= 0:
return True
print(f'''
{r1.name}攻击{r2.name}
{r2.name}受到{r1.aggr}伤害
{r2.name}还有{r2.life}血量
''')
'''交互'''
r1 = yasuo('淡淡的悲哀')
r2 = timo('火之高兴')
while True:
flag =r1.skill(r2) # 将r2传入ri.skill中得到返回值
if flag:
print(f'用户{r2.name}阵亡')
break # 如果为真,则生命值为零,结束循环
flag = r2.skill(r1) # 否则继续执行
if flag:
print(f'用户{r2.name}阵亡')
break