吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2127|回复: 30
收起左侧

[Python 原创] 简陋的21点游戏-Python

[复制链接]
lifan02 发表于 2022-11-13 21:50
本帖最后由 lifan02 于 2022-11-14 11:28 编辑

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

日    期:2022年10月21日

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















免费评分

参与人数 4吾爱币 +2 热心值 +4 收起 理由
cool1000 + 1 + 1 我很赞同!
axin0529 + 1 + 1 热心回复!
Yongtime1202 + 1 我很赞同!
burning + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
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
有点意思 多谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表