面向对象案例导入——人狗大战
1.创造出人和狗
person1 = {
'name':'nana',
'type':'汉子',
'attack_val':2000,
'life_val':2000
}
dog1 = {
'name':'小黑',
'type':'比特',
'attack_val':200,
'life_val':100
}
>>>当需要创造无数多个狗和人时,一个个写代码,代码太冗余了,并且定义任何狗的字典基本不变,我们就可以封装成函数
2.将定义的人和狗封装成函数,优化代码
def get_person(name,type,attack_val,life_val):
person_obj = {
'name':name,
'type':type,
'attack_val':attack_val,
'life_val':life_val
}
return person_obj
p1 = get_person('nana','汉子',2000,2000)
print(p1)
def get_dog(name,type,attack_val,life_val):
dog_obj = {
'name':name,
'type':type,
'attack_val':attack_val,
'life_val':life_val
}
return dog_obj
d1 = get_dog('小黑','比特',200,100)
print(d1)
>>>需要让人和狗具备攻击的能力
3.定义两个函数让人和狗可以有攻击能力
def person_attack(person_obj,dog_obj):
print(f'即将被攻击的狗:{
dog_obj.get("name")} 当前生命值:{
dog_obj.get("life_val")}')
print(f"准备攻击的人:{
person_obj.get('name')} 当前生命值:{
person_obj.get('life_val')} ")
person_obj['life_val'] -= dog_obj.get('attack_val')
print(f"{
person_obj.get('name')