
需要用到兩個庫
#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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258098.html
標籤:其他
