凯发娱乐城

注册游戏账号

新葡京娱乐城

进入游戏大厅

博天堂娱乐城

真人棋牌游戏开户

您现在的位置:主页 > 在线棋牌游戏 > 正文

在线棋牌游戏打扑克嘛Python教你“经典纸牌游戏

来源:http://12345yule.com 作者:在线棋牌游戏

真人棋牌游戏

博天堂

  导语昨天不是周天嘛?你们在家放松一般都会做什么呢?周末逛逛街,出去走走看电影......这是你们的周末。程序员的周末就是在家躺尸唐诗躺尸,偶尔加班加班加班,或者跟着几个朋友在家消遣时间打打麻将,扑克牌玩一下!尤其是放长假【ps:也没啥假,长假就是过年】在老家的时候,亲戚尤其多,七大姑八大姨的一年好不容易聚一次,打打麻将跟扑克这是常有的事儿,联络下感情这是最快的方式~说起打扑克,我们经常就是玩儿的二百四、炸金花、三个打一个那就是叫啥名字来着,容我想想......话说真词穷,我们那都是方言撒,我翻译不过来普通话是叫什么了,我估计240你们也没听懂是啥,23333~今天的话小编是带大家做一款21点的扑克游戏!有大佬可优化一下这个代码,做一个精致豪华的界面就好了~~正文游戏规则:21点又名黑杰克,该游戏由2到6个人玩,使用除大小王之外的52张牌,游戏者的目标是使手中的牌的点数之和不超过21点且尽量大。当使用1副牌时,以下每种牌各一张(没有大小王):(1)初始化玩家数:def iniGame(): global playerCount, cards while(True): try: playerCount = int(input(输入玩家数:)) except ValueError: print(无效输入!) continue if playerCount < 2: print(玩家必须大于1!) continue else: break try: decks = int(input(输入牌副数:(默认等于玩家数))) except ValueError: print(已使用默认值!) decks = playerCount print(玩家数:, playerCount, ,牌副数:, decks) cards = getCards(decks) # 洗牌(2)建立了玩家列表,电脑跟玩家对战。def createPlayerList(): global playerList playerList = [] for i in range(playerCount): playerList += [{id: , cards: [], score: 0}].copy() playerList[i][id] = 电脑 + str(i+1) playerList[playerCount-1][id] = 玩家 random.shuffle(playerList) # 为各玩家随机排序(3)开始会设置2张明牌玩法都可以看到点数在线棋牌游戏打扑克嘛Python教你“经典纸牌游戏21点”玩法。def gameStart(): print(为各玩家分2张明牌:) for i in range(playerCount): # 为每个玩家分2张明牌 deal(playerList[i][cards], cards, 2) playerList[i][score] = getScore(playerList[i][cards]) # 计算初始得分 print(playerList[i][id], , getCardName(playerList[i][cards]), 得分 , playerList[i][score]) time.sleep(1.5)(4)游戏为电脑跟玩家依次分发第三张暗牌,这是别人看不到的。def gamePlay(): for i in range(playerCount): print(当前, playerList[i][id]) if playerList[i][id] == 玩家: # 玩家 while(True): print(当前手牌:, getCardName(playerList[i][cards])) _isDeal = input(是否要牌?(y/n)) if _isDeal == y: deal(playerList[i][cards], cards) print(新牌:, getCardName(playerList[i][cards][-1])) # 重新计算得分: playerList[i][score] = getScore(playerList[i][cards]) elif _isDeal == n: break else: print(请重新输入!) else: # 电脑 while(True): if isDeal(playerList[i][score]) == 1: # 为电脑玩家判断是否要牌 deal(playerList[i][cards], cards) print(要牌。) # 重新计算得分: playerList[i][score] = getScore(playerList[i][cards]) else: print(不要了在线棋牌游戏。) break time.sleep(1.5)(5)随机洗牌:def getCards(decksNum): cardsList = [Aa, Ab, Ac, Ad, Ka, Kb, Kc, Kd, Qa, Qb, Qc, Qd, Ja, Jb, Jc, Jd, 0a, 0b, 0c, 0d, 9a, 9b, 9c, 9d, 8a, 8b, 8c, 8d, 7a, 7b, 7c, 7d, 6a, 6b, 6c, 6d, 5a, 5b, 5c, 5d, 4a, 4b, 4c, 4d, 3a, 3b, 3c, 3d, 2a, 2b, 2c, 2d] cardsList *= decksNum # 牌副数 random.shuffle(cardsList) # 随机洗牌 return cardsList(6)设置牌名字典:cardNameDict = {Aa: 黑桃A, Ab: 红桃A, Ac: 梅花A, Ad: 方片A, Ka: 黑桃K, Kb: 红桃K, Kc: 梅花K, Kd: 方片K, Qa: 黑桃Q, Qb: 红桃Q, Qc: 梅花Q, Qd: 方片Q, Ja: 黑桃J, Jb: 红桃J, Jc: 梅花J, Jd: 方片J, 0a: 黑桃10, 0b: 红桃10, 0c: 梅花10, 0d: 方片10, 9a: 黑桃9, 9b: 红桃9, 9c: 梅花9, 9d: 方片9, 8a: 黑桃8, 8b: 红桃8, 8c: 梅花8, 8d: 方片8, 7a: 黑桃7, 7b: 红桃7, 7c: 梅花7, 7d: 方片7, 6a: 黑桃6, 6b: 红桃6, 6c: 梅花6, 6d: 方片6, 5a: 黑桃5, 5b: 红桃5, 5c: 梅花5, 5d: 方片5, 4a: 黑桃4, 4b: 红桃4, 4c: 梅花4, 4d: 方片4, 3a: 黑桃3, 3b: 红桃3, 3c: 梅花3, 3d: 方片3, 2a: 黑桃2, 2b: 红桃2, 2c: 梅花2, 2d: 方片2}(7)判断胜负:def showWinAndLose(): loserList = [] # [[id, score], [id, score], ...] winnerList = [] # [[id, score], [id, score], ...] winnerCount = 0 loserCount = 0 for i in range(playerCount): if playerList[i][score] > 21: # 爆牌直接进入败者列表 loserList.append([playerList[i][id], playerList[i][score]]) else: # 临时胜者列表 winnerList.append([playerList[i][id], playerList[i][score]]) if len(winnerList) == 0: # 极端情况:全部爆牌 print(全部玩家爆牌:) for i in range(len(loserList)): print(loserList[i][0], loserList[i][1]) elif len(loserList) == 0: # 特殊情况:无人爆牌 winnerList.sort(key=lambda x: x[1], reverse=True) # 根据分数值排序胜者列表 for i in range(len(winnerList)): # 计算最低分玩家数量 if i != len(winnerList)-1: if winnerList[-i-1][1] == winnerList[-i-2][1]: loserCount = (i+2) else: if loserCount == 0: loserCount = 1 break else: loserCount = len(loserList) if loserCount == 1: loserList.append(winnerList.pop()) else: while(len(loserList) != loserCount): loserList.append(winnerList.pop()) for i in range(len(winnerList)): # 计算最高分玩家数量 if i != len(winnerList)-1: if winnerList[i][1] == winnerList[i+1][1]: winnerCount = (i+2) else: if winnerCount == 0: winnerCount = 1 break else: winnerCount = len(winnerList) while(len(winnerList) != winnerCount): winnerList.pop() print(获胜:) for i in range(len(winnerList)): print(winnerList[i][0], winnerList[i][1]) print(失败:) for i in range(len(loserList)): print(loserList[i][0], loserList[i][1]) else: # 一般情况:有人爆牌 winnerList.sort(key=lambda x: x[1], reverse=True) # 根据分数值排序胜者列表 for i in range(len(winnerList)): # 计算最高分玩家数量 if i != len(winnerList)-1: if winnerList[i][1] == winnerList[i+1][1]: winnerCount = (i+2) else: if winnerCount == 0: winnerCount = 1 break else: winnerCount = len(winnerList) while(len(winnerList) != winnerCount): winnerList.pop() print(获胜:) for i in range(len(winnerList)): print(winnerList[i][0], winnerList[i][1]) print(失败:) for i in range(len(loserList)): print(loserList[i][0], loserList[i][1])游戏效果:咳咳咳.......感觉这游戏看运气也看胆量!在线棋牌游戏打扑克嘛Python教你“经典纸牌游戏21点”玩法!总结哈哈哈!小编玩游戏比较废,你们要来试试嘛?无聊的时候可以摸摸鱼,打打酱油~制作不易,记得一键三连哦!! 如果需要本文完整的代码+图片素材。Python新手安装包、免费激活码在线棋牌游戏、等等更多Python资料 【私信小编06】即可免费领取哦!!举报/反馈——本文tag标签——扑克牌

  • 原文标题:在线棋牌游戏打扑克嘛Python教你“经典纸牌游戏
  • xpj

    9you娱乐城

    特别推荐