今日作业
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