您的位置:首页 > 其它

斗地主算法之叫地主/抢地主简单判定算法

2017-08-05 18:53 204 查看
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数据对比很清晰的就可以知道谁是最终的地主 抢了多少次地主 应该翻多少倍..不需要多费笔墨去做什么记录 十分简单
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: