用Python的类实现斗地主的初始化、洗牌、发牌、抢地主、码牌、映射功能。代码如下
# -*- coding: cp936 -*-
import random
class Doudizhu:#斗地主的一个类,下面使用的变量如果在两个实例方法里使用,要定义成实例属性。要不然会出现后面不能引用前面的变量。
def __init__(self):
self.a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]
def xipai(self):#洗牌
random.shuffle(self.a)
n=random.randint(1,54)
b=self.a[:n]
c=self.a[n:]
self.a=c+b
def fapai(self):#发牌
self.str1=self.a[:-3:3]
self.str2=self.a[1:-3:3]
self.str3=self.a[2:-3:3]
self.str4=self.a[-3:]
def qiangdizhu(self):#抢地主
n=random.randint(1,3)
self.dizhu=n#定义一个实例属性,赋给地主的序号
if n==1:
self.str1+=self.str4
if n==2: