Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /www/wwwroot/blog.somekey.cn/usr/themes/Joe/public/tencent_protect.php on line 40

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /www/wwwroot/blog.somekey.cn/usr/themes/Joe/public/tencent_protect.php on line 40
简陋的21点游戏-Python - 桃子🍑关键词

简陋的21点游戏-Python

admin
2022-11-15 / 0 评论 / 134 阅读 / 正在检测是否收录...

游戏规则:
设计21点游戏,所有数字牌按牌面计算点数,每个点数有4张牌(花牌J,Q,K及大小王不用)也就是:整副牌共40张。玩家超过21点为爆掉,玩家根据自己手里的点数选择是否继续牌,但是庄家不足16点时,必须要牌。设计程序,模拟21点游戏。

#定义电脑、用户的空列表
电脑的牌=[]
用户的牌=[]
card01=[]
牌集=[1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
import random#导入库
 
 
 
 
 
#发第一张牌
card01=random.choice(牌集)#随机选出第一张牌
b=0
电脑的牌.append(card01)#添加到电脑空列表里面
b=b+int(card01)
m=1
for i in 牌集:
    if  i!=card01:
        m=m+1
       # print(m)
    else:
        break
         
牌集.pop(m-1)#选出后剩余的牌
print("第一次发牌:")
 
print("电脑的首牌为:",card01)
#print("剩余的牌,为:",牌集)
card01=random.choice(牌集)#随机选出第一张牌
n=0
用户的牌.append(card01)#添加到用户空列表里面
n=n+int(card01)
m=1
for i in 牌集:
    if  i!=card01:
        m=m+1
       # print(m)
    else:
        break
         
牌集.pop(m-1) #选出后剩余的牌
print("用户的首牌为:{},用户牌面和为:{}".format(card01,n))
#print("剩余的牌,为:",牌集)
print()
 
 
 
 
 
#发第二张牌
card01=random.choice(牌集)#随机选出第二张牌
电脑的牌.append(card01)#添加到电脑列表里面
b=b+int(card01)
m=1
for i in 牌集:
    if  i!=card01:
        m=m+1
       # print(m)
    else:
        break
         
牌集.pop(m-1)            #选出后剩余的牌
print("第二次发牌:")
#print("电脑的第二张牌为:",card01)
#print("剩余的牌,为:",牌集)
card01=random.choice(牌集)#随机选出第二张牌
用户的牌.append(card01)       #添加到用户列表里面
n=n+int(card01)
m=1
for i in 牌集:
    if  i!=card01:
        m=m+1
       # print(m)
    else:
        break
         
牌集.pop(m-1)            #选出后剩余的牌
print("用户的首牌为:{},用户牌面和为:{}".format(card01,n))
#print("剩余的牌,为:",牌集)
print()
 
 
 
 
print("第三次发牌")
if b>16:
    print("电脑停止拿牌")
else:
    card01=random.choice(牌集)#随机选出第3张牌
    电脑的牌.append(card01)#添加到电脑列表里面
    b=b+int(card01)
    m=1
    for i in 牌集:
        if  i!=card01:
            m=m+1
           # print(m)
        else:
            break
         
    牌集.pop(m-1)            #选出后剩余的牌
    #print("电脑的第三张牌为:",card01)
    #print("剩余的牌,为:",牌集)
 
#用户的第三张牌
 
sel1=input("用户是否继续要牌:Y?N?")
print()
if sel1=="Y" or sel1=="y":
    card01=random.choice(牌集)#随机选出第二张牌
    用户的牌.append(card01)       #添加到用户列表里面
    n=n+int(card01)
    m=1
    for i in 牌集:
        if  i!=card01:
            m=m+1
            # print(m)
        else:
            break
         
    牌集.pop(m-1)            #选出后剩余的牌
    if b<16:
        #发diannao张牌
        card01=random.choice(牌集)#随机选出第一张牌
        b=0
        电脑的牌.append(card01)#添加到电脑空列表里面
        b=b+int(card01)
        m=1
        for i in 牌集:
            if  i!=card01:
                m=m+1
                   # print(m)
            else:
                break              
    牌集.pop(m-1)#选出后剩余的牌
    print("第3次发牌:")
    # print("电脑牌为:",card01)
    if n>21:
        print("用户爆了,输了")
    else:
        print("用户的第三张牌为:{},用户牌面和为:{}".format(card01,n))
    #print("剩余的牌,为:",牌集)
        if n>b:
            print("用户赢")
        else:
            print("电脑赢")
        print()
else:
#比较点数
    if n>b:
        print("用户赢")
    else:
        print("电脑赢")
        
1

评论

博主关闭了所有页面的评论