import random
print('21点游戏开始啦!')
jb=100
while True:
while True:
sf=input("输入你想选择模式(目前可选择1——对手一人、2——对手二人、3——AI对手)")
if sf=="否":
break
mon=int(input("%s%d%s"%("你的金币:",jb,",你要赌的金币(n>0,n<=金币数)(输入0可以选择全部金币): ")))
if mon!=0:
if mon<=jb:
break
else:
mon=jb
break
print('你有两张牌,每个对手也有(一张暗牌,一张名牌)是什么待会说。')
lap=random.randint(1,10)
fir=random.randint(1,10)
sec=random.randint(1,10)
print('你:')
print(fir)
print(sec)
print("目前和为:")
sum=fir+sec
print(sum)
if sf=='1':
print("对手:")
print('?')
lapsum=random.randint(1,10)
tim=random.randint(1,4)
print(lapsum)
print('接下来,问你是你可以回答1或2,1为继续发牌,2为停止发牌。')
for i in range(26):
ste=int(input('1 or 2 ?'))
if ste==1:
thi=random.randint(1,10)
print(thi)
print("目前和为:")
sum=sum+thi
print(sum)
if sum>21:
print("你爆牌了!")
break
elif ste==2:
break
else:
print("请认真审题")
print("对手:")
print("?")
print(lapsum)
for i in range(tim):
lap=random.randint(1,10)
print(lap)
lapsum=lapsum+lap
if lapsum>18:
break
lapfir=random.randint(1,10)
print("对手暗牌是:")
print(lapfir)
lapsum=lapsum+lapfir
print("对手和为:")
print(lapsum)
if sum>21:
if lapsum>21:
print("|平局|")
else:
print("|失败|")
jb=jb-mon
print(jb)
else:
if lapsum>21:
print("|胜利|")
jb+=mon
elif lapsum==sum:
print("|平局|")
elif lapsum>sum:
print("|失败|")
jb=jb-mon
print(jb)
else:
print("|胜利|")
jb+=mon
print("游戏结束!")
if jb==0:
print("no money!")
break
elif sf=='2':
print("对手1:")
print('?')
lapsum1=random.randint(1,10)
tim1=random.randint(1,4)
print(lapsum1)
print("对手2:")
print('?')
lapsum2=random.randint(1,10)
tim2=random.randint(1,4)
print(lapsum2)
print('接下来,问你是你可以回答1或2,1为继续发牌,2为停止发牌。')
for i in range(26):
ste=int(input('1 or 2 ?'))
if ste==1:
thi=random.randint(1,10)
print(thi)
print("目前和为:")
sum=sum+thi
print(sum)
if sum>21:
print("你爆牌了!")
break
elif ste==2:
break
else:
print("请认真审题")
print("对手1:")
print("?")
print(lapsum1)
for i in range(tim1):
lap1=random.randint(1,10)
print(lap1)
lapsum1=lapsum1+lap1
if lapsum1>=16:
break
lapfir1=random.randint(1,10)
print("对手1暗牌是:")
print(lapfir1)
lapsum1=lapsum1+lapfir1
print("对手1和为:")
print(lapsum1)
print("对手2:")
print("?")
print(lapsum2)
for i in range(tim2):
lap2=random.randint(1,10)
print(lap2)
lapsum2=lapsum2+lap2
if lapsum2>=16:
break
lapfir2=random.randint(1,10)
print("对手2暗牌是:")
print(lapfir2)
lapsum2=lapsum2+lapfir2
print("对手2和为:")
print(lapsum2)
if sum>21:
if lapsum1>21 and lapsum2>21:
print("|平局|")
else:
print("|失败|")
jb=jb-mon
print(jb)
else:
if lapsum1>21 and lapsum2>21:
print("|胜利|")
jb+=mon*2
print(jb)
elif lapsum1==sum:
if lapsum2<sum:
print("|胜利|")
jb+=int(mon/2)
print(jb)
elif lapsum2>sum:
print("|失败|")
jb-=mon
print(jb)
else:
print("|平局|")
elif 21>=lapsum1>sum or 21>=lapsum2>sum:
print("|失败|")
jb=jb-mon
print(jb)
else:
print("|胜利|")
jb+=mon*2
print(jb)
print("游戏结束!")
if jb==0:
print("no money!")
break
elif sf=="3":
print("对手:")
print('?')
lapsum=random.randint(1,10)
tim=random.randint(1,4)
print(lapsum)
print('接下来,问你是你可以回答1或2,1为继续发牌,2为停止发牌。')
for i in range(26):
ste=int(input('1 or 2 ?'))
if ste==1:
thi=random.randint(1,10)
print(thi)
print("目前和为:")
sum=sum+thi
print(sum)
if sum>21:
print("你爆牌了!")
break
elif ste==2:
break
else:
print("请认真审题")
print("对手:")
print("?")
print(lapsum)
lapfir=random.randint(1,10)
while True:
lap=random.randint(1,10)
lapsum=lapsum+lap
if lapsum+lapfir>21:
sfch=random.randint(1,2)
if sfch!=1:
lapsum-=lap
break
else:
print(lap)
else:
print(lap)
if lapsum+lapfir>17 :
break
if lapsum+lapfir>=11 and sum>21:
break
print("对手暗牌是:")
print(lapfir)
lapsum=lapsum+lapfir
print("对手和为:")
print(lapsum)
if sum>21:
if lapsum>21:
print("|平局|")
else:
print("|失败|")
jb=jb-mon
print(jb)
else:
if lapsum>21:
print("|胜利|")
jb+=mon*3
elif lapsum==sum:
print("|平局|")
elif lapsum>sum:
print("|失败|")
jb=jb-mon
print(jb)
else:
print("|胜利|")
jb+=mon*3
print("游戏结束!")
if jb==0:
print("no money!")
break