python抽卡人生游戏

python抽卡人生游戏

需要用到两个库

#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)

 

 

 

 

 

上一篇:2021-02-22


下一篇:C语言编程练习62:汉诺塔3