|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 重庆帅哥Moses 于 2018-4-5 14:24 编辑
- import random
- # 武器类
- class Weapon:
- def __init__(self, name="武器", damage=50):
- self.__name = name
- self.__damage = damage
- def getName(self):
- return self.__name
- def getDamage(self):
- return self.__damage
- def setName(self, name):
- self.__name = name
- def setDamage(self, damage):
- self.__damage = damage
- # 装备类
- class Equip:
- def __init__(self, name, defense):
- self.__name = name
- self.__defense = defense
- def getName(self):
- return self.__name
- def getDefense(self):
- return self.__defense
- def setName(self, name):
- self.__name = name
- def setDefense(self, defense):
- self.__defense = defense
- # 角色类
- class Role:
- # 带参构造方法
- def __init__(self, name, health, damage):
- self.__pos = random.randint(0, 100)
- self.__name = name
- self.__health = health
- self.__damage = damage
- # 设置位置、名字、血量、伤害及查看信息
- def getPos(self):
- return self.__pos
- def getName(self):
- return self.__name
- def getHealth(self):
- return self.__health
- def getDamage(self):
- return self.__damage
- def setPos(self, pos):
- self.__pos = pos
- def setName(self, name):
- self.__name = name
- def setHealth(self, health):
- self.__health = health
- def setDamage(self, damage):
- self.__damage = damage
- def getWeapon(self, w):
- self.__damage += w.getDamage()
- print("%s使用武器:%s\t伤害变为:%d" % (self.__name, w.getName(), self.__damage))
- def getEquip(self, e):
- self.__health += e.getDefense()
- print("%s穿上装备:%s\t血量变为:%d" % (self.__name, e.getName(), self.__health))
- # 动作类
- class Action:
- def move(self, r, stepLength):
- r.setPos(r.getPos() + stepLength)
- print("%s向前移动了%d的距离,当前位置为:%d" % (r.getName(), stepLength, r.getPos()))
- def fight(self, a, b):
- b.setHealth(b.getHealth() - a.getDamage())
- print("%s向%s发起了进攻 %s血量-%d,剩余血量:%d" % (a.getName(), b.getName(), b.getName(), a.getDamage(), b.getHealth()))
- # 生成角色、武器、装备、动作对象
- monkey = Role("孙悟空", 1000, 60)
- ox = Role("牛魔王", 5000, 30)
- monkeyWeapen = Weapon("如意金箍棒", 600)
- oxWeapen = Weapon("混铁棍", 300)
- headEquip = Equip("凤尾紫金冠", 600)
- bodyEquip = Equip("锁子黄金甲", 1000)
- footEquip = Equip("藕丝步云鞋", 400)
- action = Action()
- print("无可奈何的至尊宝最后戴上了金箍\n失去了他最爱的人他成为了最强\n英雄归来,悟空展开了与牛魔王的绝世之战")
- print("场景:夜晚小镇")
- # 牛魔王穿武器装备
- ox.getWeapon(oxWeapen)
- ox.getEquip(headEquip)
- ox.getEquip(bodyEquip)
- ox.getEquip(footEquip)
- # 回合计算器
- count = 1
- while True:
- print("\n第" + str(count) + "回合!")
- count += 1
- if abs(ox.getPos() - monkey.getPos()) <= 15:
- print("进入攻击范围!")
- print("输入ls查看当前距离及信息\n输入move进行移动\n输入arm穿武器及装备\n输入a进行攻击")
- option = input("\n请输入选项:")
- if option == "ls":
- print("\n角色名\t血量\t离对手距离\t攻击伤害")
- print("%s\t%d\t\t%d\t\t %d" % (
- monkey.getName(), monkey.getHealth(), (monkey.getPos() - ox.getPos()), monkey.getDamage()))
- elif option == "move":
- stepLength = int(input("\n请输入移动的距离,可以为负:"))
- action.move(monkey, stepLength)
- elif option == "arm":
- # 孙悟空穿武器装备
- monkey.getWeapon(monkeyWeapen)
- monkey.getEquip(headEquip)
- monkey.getEquip(bodyEquip)
- monkey.getEquip(footEquip)
- elif option == "a":
- if abs(ox.getPos() - monkey.getPos()) <= 15:
- action.fight(monkey, ox)
- action.fight(ox, monkey)
- else:
- print("超出攻击距离")
- else:
- print("输入错误!")
- if monkey.getHealth() <= 0 and ox.getHealth() > 0:
- print("\n牛魔王战胜了孙悟空\n牛魔王:西天势力就如同天庭一样将自己奉为神灵,却从未考虑过人间疾苦")
- print("牛魔王:千百年来,我们苦心修炼,探寻着生命的最终奥秘,成果却被他们窃取;我挚亲挚信的兄弟,一个个却被他们蒙骗,现在来与我反戈")
- print("扛起伤痕累累的悟空,牛魔王说道:这一次,我们不再被动挨打,这一次,我们主动出击,兽人永不为奴!")
- break
- elif monkey.getHealth() > 0 and ox.getHealth() <= 0:
- print("\n孙悟空战胜了牛魔王")
- print("悟空护送唐僧,穿过古镇门口,踏上了西天取经之路。。。")
- print("古镇城门上,经过一番决斗的至尊宝最终抱起紫霞仙子,开心的笑着")
- print("而紫霞仙子,看着穿个城门的悟空喃喃道:你看那个人好像一条狗!。。。。。。")
- print("苦海 泛起爱恨\r\n" + "在世间 难逃避命运\r\n" + "相亲 竟不可接近\r\n" + "或我应该相信是缘分")
- break
- elif monkey.getHealth() == 0 and ox.getHealth() == 0:
- print("\n本是同根生,相煎何太急...观世音在远远的云端喃喃道\n观世音:报告佛祖任务完成,孙悟空和牛魔王在我的挑拨下已经相杀而亡,距离我教一通中原指日可待")
- break
- print("游戏结束!")
复制代码 |
评分
-
查看全部评分
|