t "玩家3的牌是:%s" % player3 elif DZ == 3: print "玩家3是地主,玩家1是农民,玩家2是农民" player3 = player3 + sancards for i in range(0, 20): for j in range(i + 1, 20): if cardlist2[player3[i]] < cardlist2[player3[j]]: player3[i], player3[j] = player3[j], player3[i] # print "地主的牌是:%s" % player3 # print "玩家1的牌是:%s" % player1 # print "玩家2的牌是:%s" % player2
#判断牌型 def cardtype(delplayer): cardnums=len(delplayer) while cardnums<=4: if cardnums == 1: print "玩家出的单牌是:%s" % delplayer[0] break elif cardnums == 2: if cardlist2[delplayer[0]] == cardlist2[delplayer[1]]: print "玩家出的对%s" %delplayer[0] break elif cardnums == 3: if cardlist2[delplayer[0]] == cardlist2[delplayer[1]] == cardlist2[delplayer[2]]: print "玩家出的三张%s" %delplayer[0] break elif cardnums == 4: if cardlist2[delplayer[0]] == cardlist2[delplayer[1]] == cardlist2[delplayer[2]]==cardlist2[delplayer[3]]: print "玩家出了炸%s" %delplayer[0] break else: raw_input()
#打牌 def dapai(): global endcards print " 开始打牌,打牌顺序为玩家1>玩家2>玩家3轮流" while len(player1)>0 and len(player2)>0 and len(player3)>0: if len(endcards) > 0: print "玩家1开始打牌" print "玩家1的牌是:%s" % player1 delplayer1 = raw_input("请选择玩家1要出的牌:").split(" ") if len(endcards)==1 and len(delplayer1)==len(endcards) and cardlist2[delplayer1[0]]>cardlist2[endcards[0]]: print "玩家出了单张%s"%delplayer1[0] for i in range(len(delplayer1)): # 每次出的牌从原先的牌删除 player1.remove(delplayer1[i]) elif len(endcards)==2 and len(delplayer1)==len(endcards) and cardlist2[delplayer1[0]]>cardlist2[endcards[0]] and cardlist2[delplayer1[0]]==cardlist2[delplayer1[1]]: print "玩家2出了对%s"%delplayer1[0] for i in range(len(delplayer1)): # 每次出的牌从原先的牌删除 player1.remove(delplayer1[i]) elif len(endcards)==3 and len(delplayer1)==len(endcards) and cardlist2[delplayer1[0]]>cardlist2[endcards[0]] and cardlist2[delplayer1[0]] == cardlist2[delplayer1[1]] == cardlist2[delplayer1[2]]: print "玩家2出了三张%s"%delplayer1[0] for i in range(len(delplayer1)): # 每次出的牌从原先的牌删除 player1.remove(delplayer1[i]) elif len(endcards)==4 and len(delplayer1)==len(endcards) and cardlist2[delplayer1[0]]>cardlist2[endcards[0]] and cardlist2[delplayer1[0]] == cardlist2[delplayer1[1]] == cardlist2[delplayer1[2]]==cardlist2[delplayer1[3]]: print "玩家2出了四张%s"%delplayer1[0] for i in range(len(delplayer1)): # 每次出的牌从原先的牌删除 player1.remove(delplayer1[i]) else: pass del endcards[:] if (len(player1) == 0): print "玩家1为赢家,游戏结束" break print "玩家2开始出牌" print "玩家2的牌是:%s" % player2 delplayer2= raw_input("请选择玩家2要出的牌:").split(" ") if len(delplayer1)==1 and len(delplayer1)==len(delplayer2) and cardlist2[delplayer2[0]]>cardlist2[delplayer1[0]]: print "玩家出了单张%s"%delplayer2[0] for i in range(len(delplayer2)): # 每次出的牌从原先的牌删除 player2.remove(delplayer2[i]) elif len(delplayer1)==2 and len(delplayer1)==len(delplayer2) and cardlist2[delplayer2[0]]>cardlist2[delplayer1[0]] and cardlist2[delplayer2[0]]==cardlist2[delplayer2[1]]: print "玩家2出了对%s"%delplayer2[0] for i in range(len(delplayer2)): # 每次出的牌从原先的牌删除 player2.remove(delplayer2[i]) elif len(delplayer1)==3 and len(delpl |