C#哪个int更接近21

时间:2014-11-15 11:42:26

标签: c# compare blackjack

我正在使用c#

进行简单的二十一点游戏

例如,我有int playerTotalint dealerTotal我想要比较它们最接近21,哪一个大于21。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用Math.Abs方法查找这些数字之间的绝对差异,然后对它们进行比较:

int closest = Math.Abs(playerTotal - 21) <Math.Abs(dealerTotal - 21) 
             ? playerTotal
             : dealerTotal;

找到最伟大的:

int greatest = playerTotal > 21 ? playerTotal : dealerTotal;

答案 1 :(得分:0)

根据适当的二十一点规则,仅仅比较双手是不够的。你必须按正确的顺序做事,即:

  • 如果经销商有一张王牌或十张牌,他会偷看,如果他有自然, 他暴露了它,手就结束了。所有的手都输了,除非它们也是 土黄。如果经销商没有自然,继续游戏。
  • 每个玩家反过来击中/分裂/加倍直到完成。如果有任何手砰的一声, 它会立即失去 。任何自然物都会立即支付并移除。
  • 此后,经销商根据赌场规则点击。如果经销商 半身像,他支付所有剩余的非破坏球员手。
  • 只有在此之后才进行手部比较。因为我们已经知道两者都是 非破坏性,这是一个简单的问题,更多的胜利,关系推动。

您必须按此顺序执行此操作,否则会得到错误的结果。主要来源 二十一点的房子边缘是事实,如果你和经销商破产,你输了, 因为你先破坏了。

&#34;大西洋城&#34;规则有点不同,因为经销商没有 洞卡并没有偷看。如果经销商最终有自然,那么付款就是 调整为好像以上述方式完成。