python代码 # 牌型不同,不能打过
时间: 2024-01-13 16:04:48 浏览: 12
如果你遇到了这个错误:
```
# 牌型不同,不能打过
```
那么可能是因为你在比较两个牌型是否相同时,没有考虑到一些特殊情况。比如,对于炸弹和王炸,它们的牌型是一样的,但是比较它们的大小时需要特殊处理。另外,对于顺子和连对,虽然它们的长度相同,但是它们的牌型是不同的,也需要特殊处理。
你可以在比较牌型时,先判断两个牌型是否相同,如果相同再进行大小比较。比如,下面是一个判断牌型是否相同的示例代码:
```python
def is_same_type(cards1, cards2):
type1 = get_type(cards1)
type2 = get_type(cards2)
if type1 != type2:
return False
# 特殊情况需要特殊处理
if type1 == CARD_TYPE_BOMB or type1 == CARD_TYPE_JOKER:
return True
elif type1 == CARD_TYPE_SINGLE:
return get_rank(cards1[0]) == get_rank(cards2[0])
elif type1 == CARD_TYPE_PAIR:
return get_rank(cards1[0]) == get_rank(cards2[0])
elif type1 == CARD_TYPE_TRIPLE:
return get_rank(cards1[0]) == get_rank(cards2[0])
elif type1 == CARD_TYPE_STRAIGHT or type1 == CARD_TYPE_PAIR_STRAIGHT:
return len(cards1) == len(cards2) and get_rank(cards1[0]) == get_rank(cards2[0])
elif type1 == CARD_TYPE_TRIPLE_STRAIGHT:
return len(cards1) == len(cards2) and get_rank(cards1[0]) == get_rank(cards2[0]) and get_triple_count(cards1) == get_triple_count(cards2)
else:
return False
```
其中,`get_type` 函数用于判断牌型,`get_rank` 函数用于获取牌的大小,`get_triple_count` 函数用于获取三张牌的数量。你可以根据自己的需要进行修改和扩展。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)