zoukankan      html  css  js  c++  java
  • 面向对象练习

    今日作业

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

    对象:特征与技能的结合体

    类: 一系列对象相似的特征与技能的集合体·

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

    1.类名称空间中定义的数据类型和函数属性都是共享给所有对象用的

    2.对象名称空间中定义的只有数据属性,而且是对象所独有的数据属性

    3.类中定义的函数是共享给所有对象的,对象也可以使用,而且是绑定给对象用的

    4.绑定的效果:绑定给谁,就应该由谁来调用,谁来调用就会将谁当作第一个参数自动传入

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

    # 人狼大战!!
    # coding=utf-8
    
    class People:
        camp = 'Humanity'
        def __init__(self,name,aggr=25,life_value=150,money=500,armor = 10):
            self.name = name
            self.aggr = aggr
            self.life_value = life_value
            self.money = money
            self.armor = armor
    
        def attack(self,Wolf):
            damage_value = self.aggr - Wolf.armor
            Wolf.life_value -= damage_value
    
    class Wolf:
        camp = 'Orc'
        def __init__(self,name,wolf_type,aggr = 60,life_value = 300,armor = 50):
            self.name = name
            self.wolf_type = wolf_type
            self.aggr = aggr
            self.life_value = life_value
            self.armor = armor
    
        def attack(self,People):
            damage_value = self.aggr -People.armor
            People.life_value -= damage_value
    
    
    class AX:
        def __init__(self,price = 450,aggr = 50,life_value = 100):
            self.price = price
            self.aggr = aggr
            self.life_value = life_value
        def update(self,obj):
            obj.money -= self.price
            obj.aggr +=self.aggr
            obj.life_value += self.life_value
    
        def Cutting(selfself,obj):
            obj.life_value -= 75
    
    p1 = People('小风')
    w1 = Wolf('小白',"white")
    a1 = AX()
    
    if p1.money > a1.price:
        p1.a1 = a1
        a1.update(p1)
    print(p1.aggr,p1.money,p1.life_value)
    
    while  True:
    
        w1.attack(p1)
        print(f'{w1.name}咬{p1.name}一下,掉了{w1.aggr}血,还有{p1.life_value - w1.aggr}')
    
        p1.attack(w1)
        print(f'{p1.name}普攻{w1.name}一下,掉了{p1.aggr}血,还有{w1.life_value - p1.aggr}')
    
        if (p1.life_value - w1.aggr <= 0) and (w1.life_value - p1.a1.aggr >0):
            print(f'{p1.name}人类挂在了{w1.name}狼手上')
            break
    
        w1.attack(p1)
        print(f'{w1.name}咬{p1.name}一下,掉了{w1.aggr}血,还有{p1.life_value - w1.aggr}')
    
        p1.a1.Cutting(w1)
        print(f'{p1.name}用斧头砍了{w1.name}一下,掉了{p1.a1.aggr}血,还有{w1.life_value - p1.a1.aggr}')
        if (w1.life_value - p1.a1.aggr <= 0) and (p1.a1.life_value - w1.aggr > 0):
            print(f'{w1.name}狼倒在了{p1.name}人手上')
            break
    
    
    
  • 相关阅读:
    密码加盐
    怎么查看别人网站信息
    Tomcat虚拟路径访问本地图片失败的问题
    SSM整合Swagger
    Can't read swagger JSON from http://localhost:8080/Test/api-docs
    swagger使用一新手篇
    @JsonFormat的导包问题
    Could not find acceptable representation
    PostMan打不开怎么解决
    Project facet Java version 1.8 not supported
  • 原文地址:https://www.cnblogs.com/shaozheng/p/11643937.html
Copyright © 2011-2022 走看看