# PokeGame **Repository Path**: AdamLam/PokeGame ## Basic Information - **Project Name**: PokeGame - **Description**: No description available - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-05-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PokeGame ------ Game目录为程序主目录,其他为辅助或者测试用。 ------ #### 介绍 项目源于一次玩手游戏的经历,当时初学python,产生了用python把游戏模型做出来的想法.但奈何水平有限,只做了个很基础的想法 -->[[->传送门<-]](https://fishc.com.cn/thread-74823-1-1.html). 几年以后的今天,python水平有点长进了,然后回过头来看,这个游戏还是挺有兴趣的,有点麻雀虽小五脏俱全的感觉.于是萌发了把它完善的想法. #### 初步的想法 真的开始做项目了,还是千头万绪. 先理一下头绪吧.![思路](./扑克游戏.png) #### 主要涉及的库如下: 1. socket & socketserver,联网游戏,不用多说 2. struct,因为socket只能传送bytes类似,整型什么的数据类型就不用想了。 3. pickle,方便把各种算定义的类型转为bytes类型。 4. pyqt5,GUI方便想改为pyqt,tk弃坑。 5. random,随机~~~ 6. collectins.namedtuple,看了《流畅的python这本书》,刚好有个纸牌的例子,非常合适就顺手拿来了。 7. sqlite3 为了尽可能的仿真,及可移植性,加入数据库验证id,psk功能。 8. 暂时就这么多,想到再加。 #### 游戏规则 - 2最小,A最大,A视为14, - 三张同号相同的为豹子 - 三张花色相同是同花 - 三张连号的是顺子(首尾不相连,非环形结构)- - 顺子和同花可以叠加状态,升级为同花顺,地位仅次于豹子 - 散牌最小级别(2,3,5)为豹子杀手,可以反杀豹子,侧面体现了社会主义体制的优越性(一脸装庄严状~)。 - 花色分数={钻石:0.1,黑桃:0.2,红桃:0.3,黑桃:0.4} #### 基本设定及程序流程 ![流程](./游戏流程.png) 1. 程序分为服务端及客户端,服务端独立玩行不够任何客户端干扰。 2. 最多可接受6个客户端连接。 3. 各客户端连接服务器后,服务器取得连接人数并分配资源(操作权限),然后将信息返回各客户端。信息包括如下: - 当前的参与人数(可变,弃牌后将从队列中移除) - 当前的操作轮次 - 当前桌面的积分 - 当前获得操作权限的ID - 当前轮次每个人的操作信息(例如:id0:pass,id1:add 300,id2:fllow 300,id3:add 500......) - 当前轮次pass次数(pass = 最大参与数时,无法再pass或加分,只能开牌) ![程序流程](./程序流程图.png) ![程序流程](./游戏界面.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request