# 两个人物
# 属性
# name 玩家名字
# blood 血量
# 方法
# tong() 捅对方一🔪,对方掉十滴血
# kanren() 砍对方一刀 对方掉血15滴
# chiyao() 吃一颗药 补血10滴
# __str__ 打印玩家状态
# 第一步 定义类 角色类
import time #导入时间的包
class Role:
def __init__(self,name,hp):
'''
构造初始化函数
定义实例属性
名字 和血量
'''
self.name=name
self.hp=hp
pass
def tong(self,enemy):
'''
捅一刀
:param enemy: 敌人掉10血
:return:
'''
enemy.hp-=10
info='【%s】捅了【%s】一刀'%(self.name,enemy.name)
print(info)
pass
def kanren(self,enemy):
'''
砍人
:param enemy: 敌人掉15血
:return:
'''
enemy.hp-=15
info = '【%s】捅了【%s】一刀' % (self.name, enemy.name)
print(info)
pass
def chiyao(self):
'''
吃药
:return:
'''
self.hp+=10
info = '【%s】吃了一颗药,增加10滴血' % (self.name)
print(info)
pass
def __str__(self):
return '%s 还剩下 %s 的血量'%(self.name,self.hp)
# 创建两个实例化对象【西门吹雪、叶古城】
xmcx=Role('西门吹雪',100)
ygc=Role('叶孤城',100)
while True:
if xmcx.hp<=0 or ygc.hp<=0:
# 满足条件就退出循环
break
xmcx.tong(ygc)
print(xmcx) # 打印对象状态
print(ygc)
print('**************************************************')
ygc.tong(xmcx)
print(xmcx) # 打印对象状态
print(ygc)
print('**************************************************')
xmcx.chiyao()
print(xmcx) # 打印对象状态
print(ygc)
print('**************************************************')
time.sleep(1) #暂停一秒
pass
print('对战结束.......')
小结
# 1. 通过类来创建对象
class Student:
def __init__(self,name,sex,project):
self.name=name
self.sex=sex
self.project=project
pass
pass
xxn=Student('小仙女','男','仙子的自我修养')
print(xxn.name,xxn.sex,xxn.project)
# 2.创建水果类,创建对象苹果、句子、西瓜并添上颜色属性
class Fruit:
def __init__(self,name):
self.name=name
# self.color=color
pass
pass
a=Fruit('苹果')
o=Fruit('橘子')
w=Fruit('西瓜')
a.color='绿色'
o.color='蓝色'
w.color='黄色'
print(a.name,a.color,o.name ,o.color ,w.name ,w.color )
# 4.编写代码,验证self就是实例本身
class Role():
def run(self):
print('self=%d'%(id(self)))
pass
pass
xm=Role()
xm.run()
print('xm=%d'%(id(xm)))
5.定义一个annimal类
# 1. 使用__init__初始化对象属性,如颜色、名字、年龄
# 2. 定义动物方法 如 run eat 等 如调用eat方法时打印在吃东西
# 3.使用__str__函数来打印出对象的所有属性
class Animal:
def __init__(self,color,name,age):
self.name=name
self.color=color
self.age=age
pass
def eat(self):
print('%s在吃东西'%self.name)
pass
def run(self):
print('%s在跑步'%self.name)
pass
def __str__(self):
return '名字:%s 颜色:%s 年龄:%d'%(self.name,self.color,self.age)
pass
cat=Animal('黑白','猫',2)
cat.eat()
cat.run()
print(cat)