lifan02 发表于 2022-11-13 21:50

简陋的21点游戏-Python

本帖最后由 lifan02 于 2022-11-14 11:28 编辑

"""~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作业名称:21点游戏

日    期:2022年10月21日

我是一个小白,目前刚学Python,不喜勿喷喔,蟹蟹大家,我相信我们可以一起进步,我一定也可以成为大佬的。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
游戏规则:
    设计21点游戏,所有数字牌按牌面计算点数,每个
点数有4张牌(花牌J,Q,K及大小王不用)也就是:
整副牌共40张。
    玩家超过21点为爆掉,玩家根据自己手里的点数选
择是否继续牌,但是庄家不足16点时,必须要牌。
    设计程序,模拟21点游戏。
   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"""
#定义电脑、用户的空列表
电脑的牌=[]
用户的牌=[]
card01=[]
牌集=
import random#导入库





#发第一张牌
card01=random.choice(牌集)#随机选出第一张牌
b=0
电脑的牌.append(card01)#添加到电脑空列表里面
b=b+int(card01)
m=1
for i in 牌集:
    ifi!=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 牌集:
    ifi!=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 牌集:
    ifi!=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 牌集:
    ifi!=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 牌集:
      ifi!=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 牌集:
      ifi!=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 牌集:
            ifi!=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("电脑赢")
      















lvruina 发表于 2022-11-13 22:25

戰龍在野 发表于 2022-11-14 00:44

感谢分享 支持一下了

tbloy 发表于 2022-11-14 01:04

不错,学习一下。

th52907212 发表于 2022-11-14 08:08

感谢分享,正好也在看python。学习一下。

sunnyAlvis 发表于 2022-11-14 08:39

不错,初学者研究一下

wangxingbo 发表于 2022-11-14 08:45


感谢分享,学习。

wqipk 发表于 2022-11-14 08:56


感谢分享 支持一下了

VIZZION1996 发表于 2022-11-14 08:58

真不错,学习到了

lanlinux 发表于 2022-11-14 08:59

有点意思 多谢分享
页: [1] 2 3 4
查看完整版本: 简陋的21点游戏-Python