std::string m_oder_list;
void on_player_oder(bool oder_or_pass) //叫地主函数
{
if(oder_or_pass) //有人叫或者抢地主
{
m_oder_list+='1'; //oder_list加一个字符
}
else
{
m_oder_list+='0';
}
}
判断抢地主结束的条件就不多赘述了,最多5次最少3次即可
void on_oder_end() //叫地主结束回调
{
if (m_oder_list == "000"||
m_oder_list == "1111"||
m_oder_list == "100"||
m_oder_list == "1011"||
m_oder_list == "1101"
)
{
m_current_boos = m_oder_head_player; //oder_head_player就是第一个叫地主的玩家
msg_oder_end(m_oder_head_player);//都不叫地主 牌有那么差吗
}
else if (m_oder_list == "010"||
m_oder_list == "1110"||
m_oder_list == "01101")
{
m_current_boos = get_next_player(m_oder_head_player);
msg_oder_end(get_next_player(m_oder_head_player));
}
else if (m_oder_list == "1010"|| m_oder_list == "001"||m_oder_list == "01100")
{
m_current_boos = get_next_player(get_next_player(get_next_player(m_oder_head_player)));
msg_oder_end(get_next_player(get_next_player(m_oder_head_player)));
}
}
通过这串01数据对比很清晰的就可以知道谁是最终的地主 抢了多少次地主 应该翻多少倍..不需要多费笔墨去做什么记录 十分简单