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

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数据对比很清晰的就可以知道谁是最终的地主 抢了多少次地主 应该翻多少倍..不需要多费笔墨去做什么记录 十分简单

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity斗地主算法是指在Unity游戏引擎中实现的斗地主游戏的核心算法斗地主是一种扑克牌游戏,其规则包括发牌、叫分、出牌、地主等环节。在Unity斗地主游戏中,算法主要负责随机发牌、牌型判断、分数计算、叫分和地主等操作。 在Unity斗地主游戏中,随机发牌的算法采用了洗牌、发牌和排序三个步骤。因为斗地主需要将54张牌均分成三份,所以洗牌的随机性和准确性非常重要。在发牌和排序阶段,算法需要保证每个玩家得到17张牌,且牌的大小和花色是随机的,同时牌的组合方式也要考虑游戏的规则。 牌型判断的算法是指判断出每个玩家所出的牌型,以便计算分数和判断胜负。这个算法需要对牌型进行分类,如单牌、对子、三张等,同时还需要考虑牌型的组合和大小,例如顺子、连对、飞机等。算法需要准确判断出每个玩家所出的牌型并进行比对,依此来判断胜负。 分数计算需要根据游戏规则进行计算,包括分数的基本计算、炸弹的额外分值和特殊情况下的倍数加成等。算法需要按照游戏规则进行计算,计算每个玩家所得分数。 叫分和地主算法是玩家对游戏的一次选择,需要根据当前发牌的情况和已知牌型进行判断。算法需要对每个玩家的叫分和地主进行判断和比对,以此判断最终的地主和游戏规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值