【python】 类的定义和运用 --附个人做的一个小游戏

#面向对象编程


#定义类
#class 类名(父类):
# "类的说明文档" 
 # 类的定义体(可以定义变量,方法等)
 
#Object是任何类的(父类/基类/超类)
#-----下面是定义一个动物类----
# class Animal(object):
# "这是动物类"
# animalName = '老虎'
# animalAge  = 18
# #类中定义方法
# #def 方法名称(self,参数,参数,...):方法体
# def eat(self):
# print('觅食')

# def run(self):
# print('奔跑')

# def sleep(self):
# print('睡觉')

# #------ 下面是定义一个实例 ----
# #实例名称 = 类名(参数)
# #调用类中的属性
# #实例名称.属性


# #调用类中的方法
# #实例名称.方法名称(参数)


# person = Animal() #定义一个实例,名称是person
# print(person.animalAge)
# person.run()  #调用Animal类中的run()方法
#-----------------------------------------------------------
#构造函数的概念
#构造函数用于类的信息初始化,会在类实例化之前自动调用该方法,完成信息的初始化工作
#def __init__(self,参数,参数,...)



----------------------------------------------------------------例子

class Person:
Name=''
Sex=False   #性别关系HP Mp False为女 True为男 影响到各项属性
Hp=0
Mp=0
Dps=0
Maginc=0
Type=False  #职业类型  False为物理  True为魔法   影响攻击力
def __init__(self,name,sex,Type):
self.Name=name
self.Sex=sex
self.Type=Type
if(sex==False):
self.Hp=300
self.Mp=100
if(Type==False):
self.Dps=100
self.Maginc=50
else:
self.Dps=50
self.Maginc=100
else:
self.Hp=400
self.Mp=70
if(Type==False):
self.Dps=120
self.Maginc=10
else:
self.Dps=60
self.Maginc=50

def show(self):
print('%s的角色血量有%d魔法值有%d物理攻击力为%d魔法攻击力为%d'%(self.Name,self.Hp,self.Mp,self.Dps,self.Maginc))


def personFight(personOne,personTwo):
fightPersonBool=False  #攻击角色转换  False为personOne True为personTwo
while(personOne.Hp>0 or personTwo.Hp>0):
if(fightPersonBool==False):
print(personOne.Name,'开始攻击',personTwo.Name)
print('请选择你要攻击的方式D/M        (D代表物理攻击,M代表魔法攻击)')
val=input()
if(val=='D'):
personTwo.Hp=personTwo.Hp-personOne.Dps
elif(val=='M'):
personTwo.Hp=personTwo.Hp-personOne.Maginc
else:
print('由于你心不在焉,没有抓住攻击机会')
else:
print(personTwo.Name,'开始攻击',personOne.Name)
print('请选择你要攻击的方式D/M(D代表物理攻击,M代表魔法攻击)')
val=input()
if(val=='D'):
personOne.Hp=personOne.Hp-personTwo.Dps
elif(val=='M'):
personOne.Hp=personOne.Hp-personTwo.Maginc
else:
print('由于你心不在焉,没有抓住攻击机会')
fightPersonBool=not fightPersonBool
if(not fightPersonBool):
print(personTwo.Name,'胜利!!!!')
else:
print(personOne.Name,'胜利!!!!')
def creatPerson():
print('将为你创建角色进行战斗')
print('输入你的角色名')
name=input()
print('请输入你的性别')
inputsexbool=True
while(inputsexbool):
sexval=input()
if(sexval=='男'):
sex=True
inputsexbool=False
elif(sexval=='女'):
sex=False
inputsexbool=False
else:
print('你是人妖吗?!')
inputskillbool=True
while(inputskillbool):
print('请输入你的职业 魔法师/战士')
skillval=input()
if(skillval=='魔法师'):
type=True
inputskillbool=False
elif(skillval=='战士'):
type=False
inputskillbool=False
else:
print('你甘愿做一个平民吗?!?!')
person=Person(name,sex,type)
return person


def RunEx():
runBool=True
while(runBool):
print('欢迎进入原始部落游戏')
p1=creatPerson()
p2=creatPerson()
print('!!!!!开始游戏!!!!')
personFight(p1,p2)
print('是否继续游戏?Y/N')
if(input()=='N'):
runBool=False
RunEx()














  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值