Python实现的UNO卡牌游戏类

UNO,py UNO 卡牌游戏类 -- 可接入 QQ bot 使用 脚本包含三个类 python class Card class Player class UNO 添加游戏玩家 python from UNO import Player

本文包含相关资料包-----> 点击直达获取<-------

UNO.py

UNO 卡牌游戏类 -- 可接入 QQ bot 使用 脚本包含三个类

python class Card class Player class UNO

添加游戏玩家

python from UNO import Player, UNO uno = UNO() player = Player(qq='1', name='张三') uno.player_add_func(player)

删除游戏玩家

python uno.player_quit_func(player)

游戏运行使用 gennerator

python uno_generator = uno.run() for ret in uno_generator: print(ret[0]) if uno.msg_in_flag: msg = input() uno_generator.send(msg) uno.msg_in_flag = False # 每次输入完成需要手动复位标志位与玩家类 uno.msg_in_player = None # 这个是与QQbot结合的

附:游戏规则(稍稍改了下)

UNO 游戏脚本(强制出牌、无叠牌、无质疑、不限时) 卡牌说明:每副 UNO 牌包括:108 张牌(76 张数字牌,32 张特殊牌)。 一、数字牌共有 10 种(0、1、2、3、4、5、6、7、8、9),每种 4 个颜色(红、蓝、黄、绿),每种颜色 0 号 1 张、其余各 2 张,共计 76 张 二、普通功能牌同样有四种颜色(红、蓝、黄、绿),有以下 3 种:

1、+2 牌(每种颜色 2 张,共 8 张)

当打出这张牌时,出牌者的下一个玩家必须罚抽 2 张牌,并且停止出牌一次。 如果这张牌作为引导牌被翻开,则第一位出牌者必须罚抽 2 张牌(但可以正常出牌);

2、反转牌(每种颜色 2 张,共 8 张)

这张牌将会改变出牌的顺序。出牌顺序自顺时针方向改为逆时针方向;逆时针方向改为顺时针方向。 如果这张牌作为引导牌被翻开,则第二位出牌者将改为右边那位,出牌顺序自顺时针方向改为逆时针方向。二人局中,此牌当做阻挡牌用;

3、阻挡牌(每种颜色 2 张,共 8 张)

这张牌的出现将使出牌者的下家停止出牌一次。如果这张牌作为引导牌被翻开,则第一位出牌者将被直接停止出牌一次,由第二位开始出牌。

三、高级功能牌牌面为黑色,有以下 2 种

1、黑牌(4 张)

当这张牌出现时,玩家可以指定接下来要出的牌的颜色(也可以不改)并继续游戏。 玩家可以无视底牌打出这张【黑牌】,即使玩家手中有其他可出的牌。这张牌不能作为最后一张手牌打出。 如果这张牌在一开始就被翻开,则由发牌者左边的第一位玩家来决定接下来要出的颜色; 2、黑牌 +4(4 张) 这张牌可以无视底牌打出,并指定接下来要打出的牌的颜色,并且要求出牌者的下家自【牌库】中抽 4 张牌,停止出牌一次。 只能在出牌者手上没有与底牌相同颜色的牌时打出这张牌。 这张牌不能作为最后一张手牌打出。 如果这张牌作为引导牌被翻开,则将这张牌放回、洗牌,重新翻一张牌。

游戏顺序: 1、每人发 7 张手牌,手牌分最高的作为第一位出牌者开始,初始出牌顺序为顺时针方向。 2、翻开牌库顶第一张作为引导牌,第一名玩家根据引导牌出牌,然后玩家打出的牌依次成为底牌。 3、基本行为:

(1)出牌

打出与底牌同样颜色或图标(数字、功能)的牌;

(2)抽牌

无牌可出(1 张)或被惩罚(牌面或规则指定)时,从牌库中抽取相应张数;

(3)补出

无牌可出时抽到的牌如果可以打出,则可以立即打出,只能补出抽到的牌,不能从原有手牌中补出牌;

(4)弃牌回收

牌库透支(用尽)时,将底牌留在场上,其余牌洗切作为新的牌库。

胜利条件:玩家手牌清空

参考文献

  • 基于web的旅游服务平台的设计与实现(内蒙古大学·张凡)
  • 银行卡业务分析和数据挖掘系统的设计与实现(电子科技大学·张晓伟)
  • 游戏管理系统的设计与实现(北京交通大学·张灿)
  • 银行卡业务分析和数据挖掘系统的设计与实现(电子科技大学·张晓伟)
  • 银行卡业务分析和数据挖掘系统的设计与实现(电子科技大学·张晓伟)
  • 基于微服务的游戏鉴赏互动系统设计与实现(华中科技大学·孙宝)
  • 基于.NET平台的游戏门户系统设计与实现(电子科技大学·余胜鹏)
  • 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 基于SSM框架游戏玩家交流平台设计与实现(北京交通大学·补剑琪)
  • 文本综合处理平台的研究与实现(济南大学·王孟孟)
  • 基于校园一卡通的图书管理系统的设计与实现(电子科技大学·陆瑶)
  • 基于Django的斗地主游戏平台设计与实现(贵州大学·刘满义)
  • 基于Unity3D引擎的第一人称射击游戏设计与实现(电子科技大学·唐迪)
  • 基于.NET平台的游戏门户系统设计与实现(电子科技大学·余胜鹏)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码小屋 ,原文地址:https://m.bishedaima.com/yuanma/35786.html

相关推荐

  • 基于Python实现CCKS2019医渡云4k电子病历数据集命名实体识别

    CCKS2019医渡云4k电子病历数据集命名实体识别 Dataset Yidu-S4K数据集,对于给定的一组电子病历纯文本文档,任务的目标是识别并抽取出与医学临床相关的实体提及(entity mention)
    2024年05月14日
    2 1 1
  • 基于Python实现成绩统计系统

    1, 课程设计目的 《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要
    2024年05月14日
    1 1 1
  • 基于Android实现的web端作业提交系统

    首先是启动项目,打开cmd,输入node index,cmd返回Server has started, 打开IE,chrome等浏览器,在地址栏输入 http://127
    2024年05月14日
    2 1 1
  • Java+SSH框架实现论坛系统、javaweb+mysql

    这是一个🔥🔥SSH框架实现论坛系统,javaweb+mysql🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 框架实现论坛系统开发技术栈为SSH项目
    2024年05月23日
    2 1 1
  • 基于jsp+servlet+mysql的图书管理系统

    Book-management-jsp 基于jsp+servlet+mysql的图书管理系统 参考文献 基于RBAC的SSH架构下的图书管理应用研究(大连理工大学·姜楠) 高校图书管理系统的设计与实现(东北大学·黄鑫) 复旦大学数字图书馆个人图书管理系统的设计与实现(电子科技大学·陆卫国) 图书综合管理系统(吉林大学·王宇) 宁波职业技术学院图书管理系统分析与设计(云南大学·赵顺勇) 大同实验小学图书馆借还系统的设计与实现(电子科技大学·王洪宇) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 山西电大图书管理信息系统的设计与实现(北京工业大学·李莹) 医疗卫生图书网的设计与实现(电子科技大学·张占平) 基于Web的书刊进销存系统的设计与实现(大连理工大学·王宁) 基于JSP/Servlet的三层式网上书店的研究与实现(吉林大学·郭小雪) 基于RBAC的SSH架构下的图书管理应用研究(大连理工大学·姜楠) 基于B/S架构的网上书店系统的设计与实现(电子科技大学·陈云英) 基于
    2024年05月14日
    11 1 2
  • 教师工作量管理系统

    这是一个🔥🔥基于SpringBoot框架的教师工作量管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于Python的学生考勤管理系统的设计与实现 #

    基于Python的学生考勤管理系统的设计与实现 一,引言 1,1 项目背景 由于技术的革新,人们的生活相较于上个世纪已经发生了天翻地覆的变化,上个世纪出现的计算机的设计目的是军事需要
    2024年05月14日
    1 1 1
  • 基于SSM框架的物业缴费管理系统设计与实现源码

    使用SSM框架构建物业缴费管理系统已成为当前互联网时代的一项重要趋势,随着城市化进程的加速和物业管理需求的不断增长,传统的人工管理方式已无法满足快速,高效,准确的管理需求
    2024年05月07日
    5 1 1
  • 基于Python实现图像分割算法

    1, 问题描述 结合“Lecture 7 Segmentation”内容及参考文献[1],实现基于 Graph-based image segmentation 方法(可以参考开源代码
    2024年05月14日
    2 1 1
  • 新闻稿件管理系统

    这是一个🔥🔥基于SpringBoot框架的新闻稿件管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1

发表回复

登录后才能评论