资讯专栏INFORMATION COLUMN

python:面向对象基本知识(二)用类方法实现斗地主洗牌发牌

Yu_Huang / 2643人阅读

摘要:斗地主牌堆,张牌,四种花色,,大小王洗牌发牌黑桃方片梅花红桃大王小王洗牌发牌展示玩家玩家玩家底牌

"""
    斗地主
    1.牌堆,54张牌,四种花色,2,3,4,5,6,7,8,9,10,J,Q,K,A,大小王
    2.洗牌
    3.发牌
"""
import random
class Poke():
    flowr=["黑桃","方片","梅花","红桃"]
    num=["2","3","4","5","6","7","8","9","10","J","Q","K","A"]
    kings={"big":"大王","small":"小王"}
    poker=[]
    player1=[]
    player2=[]
    player3=[]
    dipai=[]

    def __init__(self):
        for f in self.flowr:
            for n in self.num:
                self.poker.append(f+n+" ")
        self.poker.append(self.kings["big"]+" ")
        self.poker.append(self.kings["small"]+" ")

    #洗牌
    def wash(self):
        for i in range(54):
            index=random.randint(0,53)
            self.poker[index],self.poker[i]=self.poker[i],self.poker[index]

    #发牌
    def fa(self):
        for i in range(17):
            self.player1.append(self.poker.pop(0))
            self.player2.append(self.poker.pop(0))
            self.player3.append(self.poker.pop(0))
        self.dipai=tuple(self.poker)

    #展示
    def show(self):
        for i in self.player1:
            print(i,end="")
        print()
        print("玩家1↑↑↑")
        for i in self.player2:
            print(i,end="")
        print()
        print("玩家2↑↑↑")
        for i in self.player3:
            print(i,end="")
        print()
        print("玩家3↑↑↑")
        for i in self.dipai:
            print(i,end="")
        print()
        print("底牌↑↑↑")

p=Poke()
p.wash()
p.fa()
p.show()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43763.html

相关文章

  • 1、Map接口 2、模拟地主洗牌发牌

    摘要:中的集合称为单列集合,中的集合称为双列集合。洗牌通过数字完成洗牌发牌发牌将每个人以及底牌设计为将最后张牌直接存放于底牌,剩余牌通过对取模依次发牌。存放的过程中要求数字大小与斗地主规则的大小对应。 01Map集合概述 A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同  a:Collection中的集...

    付伦 评论0 收藏0
  • map集合的学习

    摘要:提供了专门的集合类用来存放这种对象关系的对象,即接口。中的集合,元素是成对存在的理解为夫妻。中的集合称为单列集合,中的集合称为双列集合。根据指定的键,在集合中获取对应的值。 day04 【Map】 主要内容 Map集合 教学目标 [ ] 能够说出Map集合特点 [ ] 使用Map集合添加方法保存数据 [ ] 使用键找值的方式遍历Map集合 [ ] 使用键值对的方式遍历Map集合 [ ...

    peixn 评论0 收藏0
  • Java编程基础19——Map集合&地主案例

    摘要:使用默认随机源对指定列表进行置换。将集合排序使用二分搜索法搜索指定列表,以获得指定对象根据元素的自然顺序,返回给定的最大元素。 1_Map集合概述和特点 A:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接口的不同 Map是双列的,Collection是单列的 Map...

    ygyooo 评论0 收藏0
  • Java集合框架——Map接口

    摘要:第三阶段常见对象的学习集合框架集合在实际需求中,我们常常会遇到这样的问题,在诸多的数据中,通过其编号来寻找某一些信息,从而进行查看或者修改,例如通过学号查询学生信息。面试题和的区别是单列集合的顶层接口,有子接口和。 第三阶段 JAVA常见对象的学习 集合框架——Map集合 showImg(https://segmentfault.com/img/remote/1460000019683...

    princekin 评论0 收藏0
  • 基于状态机模型的地主游戏(NodeJs&SocketIO)

    摘要:系统结构系统考虑使用和实现服务器端逻辑,前端使用。逻辑流程主要逻辑包括用户进入游戏等待对家进入游戏游戏过程结束统计这个过程。 1. 系统结构 系统考虑使用Nodejs和SocketIo实现服务器端逻辑,前端使用HTML5。showImg(https://segmentfault.com/img/remote/1460000007643089); 2. 逻辑流程 1 . 主要逻辑包括用户...

    NoraXie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<