# 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)弃牌回收
>
>> 牌库透支(用尽)时,将底牌留在场上,其余牌洗切作为新的牌库。
>>
胜利条件:玩家手牌清空
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
使用Python实现的UNO卡牌游戏类-- QQ bot 使用。本项目一共包含三个类Card、Player、UNO。平时有玩过UNO的朋友,这个项目就非常适合你们去实现,可以增添编程的乐趣~
资源推荐
资源详情
资源评论
收起资源包目录
100012542-基于Python实现的UNO卡牌游戏类.zip (3个子文件)
uno1
LICENSE 1KB
UNO.py 26KB
README.md 4KB
共 3 条
- 1
资源评论
- m0_474340112023-10-04资源使用价值高,内容详实,给了我很多新想法,感谢大佬分享~
- guangtai022024-03-14资源内容总结的很到位,内容详实,很受用,学到了~
神仙别闹
- 粉丝: 2667
- 资源: 7640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功