面向对象work

时间:2019-10-09
本文章向大家介绍面向对象work,主要包括面向对象work使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.什么是对象?什么是类?

对象:含有属性(特征)和技能的结合

类:一系列对象相同的属性(特征)和技能的结合体

2.绑定方法的有什么特点

特点:

  1. 不同的对象调用该绑定的方法,则会将不同的对象传入该绑定方法中
  2. 把对象当中第一个参数传入该方法中,也就是self本身

3.基于面向对象设计一个对战游戏

class Boss:
    def __init__(self,name,life_value=1000,aggressivity=60,armor=40):
        self.name=name
        self.life_value=life_value
        self.aggressivity=aggressivity
        self.armor=armor


    def attack(self,enemy):
        hurt=self.aggressivity-enemy.arrmor
        enemy.life_value-=hurt


class Hero:
    def __init__(self, name, life_value=1300, aggressivity=50, armor=30):
        self.name = name
        self.life_value = life_value
        self.aggressivity = aggressivity
        self.armor = armor

    def attack(self, enemy):
        hurt = self.aggressivity - enemy.arrmor
        enemy.life_value -= hurt



hero=Hero('jj')
boss=Boss('monkey')
print(f'{hero.name}生命值:{hero.life_value},攻击力{hero.aggressivity},防御值{hero.armor}')
print(f'{boss.name}生命值:{boss.life_value},攻击力{boss.aggressivity},防御值{boss.armor}')
while True:
    if boss.life_value<=0:
        print('成功击杀boss')
        break
    boss.hurt=boss.aggressivity-hero.armor
    hero.life_value-=boss.aggressivity
    print(f'{boss.name}攻击了{hero.name}造成了{boss.hurt},\n{boss.name}剩余血量{boss.life_value}')
    if hero.life_value<=0:
        print('被boss击杀,死亡')
        break
    hero.hurt=hero.aggressivity-boss.armor
    boss.life_value-=hero.hurt
    print(f'{hero.name}攻击了{boss.name}造成了{hero.hurt}\n{hero.name}剩余血量{hero.life_value}')




原文地址:https://www.cnblogs.com/hj59988326/p/11643064.html