简陋的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("电脑赢")
感谢分享 支持一下了 不错,学习一下。 感谢分享,正好也在看python。学习一下。 不错,初学者研究一下
感谢分享,学习。
感谢分享 支持一下了 真不错,学习到了 有点意思 多谢分享