需要用到两个库
#coding:utf-8
import random
import sys
random 作为抽卡概率,sys 提供退出
我们先设定主角的初始值
#初始值
ti = 100 #体力
fa = 30 #法力
time = 1 #天数
tao = 0 #逃脱
创建一个 主页面函数,将ti(体力值)和fa(法力值)global全局变量
def zhu():
global ti
global fa
xz = print("1 卡片:治愈 效果:+10体力 耗费法力:10 玩家:小明 体力:%s 法力:%s\n"
"2 卡片:恢复 效果:+15体力 耗费法力:15\n"
"3 卡片:圣光 效果:+20体力 耗费法力:20 天数:%s\n"
"4 卡片:逃脱 效果:1/10几率逃脱 耗费法力:60 逃脱:%s 按8使用此卡片\n"
"5 卡片:命运 效果:随机1次 耗费法力:13 地牢:你被困在地牢里,每天都会受到诅咒从而-10体力\n"
"6 卡片:世界 效果:随机10次 耗费法力:120\n"
"法师:因为你是一个低级法师,每天可以+12法力从而召唤卡牌至少获得一张逃脱,按9将进入下一天,exit退出\n"
"获胜:获得6张逃脱召唤六芒星或者使用一张逃脱成功则胜利!\n"%(ti,fa,time,tao),end="")
创建一个输入函数
#输入
def shuru():
try:
shu = int(input("请输入:"))
return shu
except Exception:
print("请再次输入:")
下面是创建各个卡片的函数
#治愈
def zhiyu():
global ti
global fa
global time
if fa > 10:
ti -= 10
fa += 12
time += 1
ti += 10
fa -= 10
else:
print("法力值不足")
#恢复
def huifu():
global ti
global fa
global time
if fa>15:
ti += 15
fa -= 15
ti -= 10
fa += 12
time += 1
else:
print("法力值不足")
#圣光
def sheng():
global ti
global fa
global time
if fa>20:
ti += 20
fa -= 20
ti -= 10
fa += 12
time += 1
else:
print("法力值不足")
#获取逃脱卡
def taotuoka():
global tao
global fa
global ti
if fa >= 60:
ti -= 10
fa += 12
tao += 1
if tao >= 6:
print("召唤六芒星!逃脱成功!")
fa -= 60
else:
print("法力值不足")
#逃脱
def taotuo():
global tao
global fa
fa -= 60
#判断逃脱卡大于1
if tao>=1:
#设定两个1-10的随机数
x = random.randint(1, 10)
y = random.randint(1, 10)
#如果两个随机数相同了 概率:10%
if x == y:
print("逃脱成功")
sys.exit(0)
else:
print("逃脱失败")
#逃脱卡减1
tao -= 1
else:
print("没有逃脱卡牌")
#today
def day():
global time
global ti
global fa
ti -= 10
fa += 12
time += 1
#命运
def ming():
global tao
global ti
global fa
if fa >= 13:
fa -= 13
#随机获取卡牌 1/4的几率
paiku = ['治愈','恢复','圣光','逃脱']
pai = random.choice(paiku)
print('获得一张%s卡牌' % pai)
if pai == '治愈':
ti += 10
elif pai == '恢复':
ti += 15
elif pai == '圣光':
ti += 20
elif pai == '逃脱':
tao += 1
if tao >= 6:
print("召唤六芒星!逃脱成功!")
sys.exit(0)
else:
print("法力值不足")
#世界
def shijie():
global tao
global ti
global fa
#判断法力值足不足够
if fa >= 120:
fa -= 120
#随机获取10张卡牌 1/4的几率
for i in range(1,10):
paiku = ['治愈','恢复','圣光','逃脱']
pai = random.choice(paiku)
print('获得一张%s卡牌' % pai)
if pai == '治愈':
ti += 10
elif pai == '恢复':
ti += 15
elif pai == '圣光':
ti += 20
elif pai == '逃脱':
tao += 1
if tao >= 6:
print("召唤六芒星!逃脱成功!")
sys.exit(0)
else:
print("法力值不足")
判断输入数字,运行指定的函数
while True:
#打印
zhu()
num = shuru()
#判断体力
if ti > 0:
#判断法力
if fa > 0:
#判断输入
if num in (1,2,3,4,5,6,8,9):
if num == 1:
zhiyu()
elif num == 2:
huifu()
elif num == 3:
sheng()
elif num == 4:
taotuoka()
elif num == 5:
ming()
elif num == 6:
shijie()
elif num == 8:
taotuo()
elif num == 9:
day()
else:
print("请输入正确数字!!!")
else:
print("请输入正确数字!!!")
if num == 9:
day()
if fa <= 0:
print("法力值不足")
else:
print("你已被诅咒而死!")
sys.exit(0)
接下来是完整代码
#coding:utf-8
import random
import sys
#初始值
ti = 100 #体力
fa = 30 #法力
time = 1 #天数
tao = 0 #逃脱
def zhu():
global ti
global fa
xz = print("1 卡片:治愈 效果:+10体力 耗费法力:10 玩家:小明 体力:%s 法力:%s\n"
"2 卡片:恢复 效果:+15体力 耗费法力:15\n"
"3 卡片:圣光 效果:+20体力 耗费法力:20 天数:%s\n"
"4 卡片:逃脱 效果:1/10几率逃脱 耗费法力:60 逃脱:%s 按8使用此卡片\n"
"5 卡片:命运 效果:随机1次 耗费法力:13 地牢:你被困在地牢里,每天都会受到诅咒从而-10体力\n"
"6 卡片:世界 效果:随机10次 耗费法力:120\n"
"法师:因为你是一个低级法师,每天可以+12法力从而召唤卡牌至少获得一张逃脱,按9将进入下一天,exit退出\n"
"获胜:获得6张逃脱召唤六芒星或者使用一张逃脱成功则胜利!\n"%(ti,fa,time,tao),end="")
#输入
def shuru():
try:
shu = int(input("请输入:"))
return shu
except Exception:
print("请再次输入:")
#治愈
def zhiyu():
global ti
global fa
global time
if fa > 10:
ti -= 10
fa += 12
time += 1
ti += 10
fa -= 10
else:
print("法力值不足")
#恢复
def huifu():
global ti
global fa
global time
if fa>15:
ti += 15
fa -= 15
ti -= 10
fa += 12
time += 1
else:
print("法力值不足")
#圣光
def sheng():
global ti
global fa
global time
if fa>20:
ti += 20
fa -= 20
ti -= 10
fa += 12
time += 1
else:
print("法力值不足")
#获取逃脱卡
def taotuoka():
global tao
global fa
global ti
if fa >= 60:
ti -= 10
fa += 12
tao += 1
if tao >= 6:
print("召唤六芒星!逃脱成功!")
fa -= 60
else:
print("法力值不足")
#逃脱
def taotuo():
global tao
global fa
fa -= 60
#判断逃脱卡大于1
if tao>=1:
#设定两个1-10的随机数
x = random.randint(1, 10)
y = random.randint(1, 10)
#如果两个随机数相同了 概率:10%
if x == y:
print("逃脱成功")
sys.exit(0)
else:
print("逃脱失败")
#逃脱卡减1
tao -= 1
else:
print("没有逃脱卡牌")
#today
def day():
global time
global ti
global fa
ti -= 10
fa += 12
time += 1
#命运
def ming():
global tao
global ti
global fa
if fa >= 13:
fa -= 13
#随机获取卡牌 1/4的几率
paiku = ['治愈','恢复','圣光','逃脱']
pai = random.choice(paiku)
print('获得一张%s卡牌' % pai)
if pai == '治愈':
ti += 10
elif pai == '恢复':
ti += 15
elif pai == '圣光':
ti += 20
elif pai == '逃脱':
tao += 1
if tao >= 6:
print("召唤六芒星!逃脱成功!")
sys.exit(0)
else:
print("法力值不足")
#世界
def shijie():
global tao
global ti
global fa
#判断法力值足不足够
if fa >= 120:
fa -= 120
#随机获取10张卡牌 1/4的几率
for i in range(1,10):
paiku = ['治愈','恢复','圣光','逃脱']
pai = random.choice(paiku)
print('获得一张%s卡牌' % pai)
if pai == '治愈':
ti += 10
elif pai == '恢复':
ti += 15
elif pai == '圣光':
ti += 20
elif pai == '逃脱':
tao += 1
if tao >= 6:
print("召唤六芒星!逃脱成功!")
sys.exit(0)
else:
print("法力值不足")
while True:
#打印
zhu()
num = shuru()
#判断体力
if ti > 0:
#判断法力
if fa > 0:
#判断输入
if num in (1,2,3,4,5,6,8,9):
if num == 1:
zhiyu()
elif num == 2:
huifu()
elif num == 3:
sheng()
elif num == 4:
taotuoka()
elif num == 5:
ming()
elif num == 6:
shijie()
elif num == 8:
taotuo()
elif num == 9:
day()
else:
print("请输入正确数字!!!")
else:
print("请输入正确数字!!!")
if num == 9:
day()
if fa <= 0:
print("法力值不足")
else:
print("你已被诅咒而死!")
sys.exit(0)