• 1009 作业


    1009作业

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

    对象:是一系列方法与特征的集合体,python中万物皆对象

    类: 具有一系列相同特征的对象的结合体

    2.绑定方法有什么特点

    类内部的函数主要是由对象引用

    1. 当类调用类中函数时,函数是普通的函数,需传值
    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
    
  • 相关阅读:
    将指定byte数组以16进制的形式打印到控制台
    Java输出当前的日期(年月日时分秒毫秒)
    JAVA API从MongoDB中读取数据
    Hbase API 写入操作代码,基于hbase-client 1.0.3版本
    关于ROW_NUMBER函数的使用(The use of ROW_NUMBER function )
    网络知识点
    C++学习笔记
    Linux网络编程--tinyhttpd
    Linux多线程编程
    inet_ntop返回值错误
  • 原文地址:https://www.cnblogs.com/fwzzz/p/11644602.html
Copyright © 2020-2023  润新知