扑克牌排序_tkinter模拟扑克牌和狼人杀发牌

本文介绍如何使用tkinter的canvas组件实现扑克牌的随机发牌,展示四位玩家的牌面,并提供了模拟斗地主、狼人杀等游戏的拓展。通过代码实现动态发牌效果,并探讨了位置学在狼人杀中的应用。
摘要由CSDN通过智能技术生成

今天我们用tkinter的canvas画布实现扑克牌的随机发牌:将54张牌随机发给四位牌手,在屏幕上显示每位牌手的牌,利用Canvas将发牌结果显示出来。

需要准备的是54张扑克牌的图片(gif或者png,jpg的话要经过额外的转换),为了保证最终的牌序是按照由小到大排列的,图片编号要按照AAAA、2222……KKKK、大小王来排列(也许A和2应该更大,但是请忽略这一点)。

下面是完整代码:

from tkinter import *
import random

n=54
(player1,player2,player3,player4)=([],[],[],[])
(p1,p2,p3,p4)=([],[],[],[])
pocker=[i for i in range(n)]
imgs=[]
root=Tk()
cv=Canvas(root,bg="White",width=700,height=600)

#洗牌(用随机交换打乱牌序)
def gen_pocker(n):
    x=100
    while(x>0):
        x=x-1
        p1=random.randint(0,n-1)
        p2=random.randint(0,n-1)
        t=pocker[p1]
        pocker[p1]=pocker[p2]
        pocker[p2]=t
    return pocker
    
pocker=gen_pocker(n)  #打乱后的牌组编号
#将图片放入imgs列表
for i in range(1,55):
    imgs.insert(i,PhotoIma
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值