25个不错PHP的游戏编程脚本代码分享
然后可以查看这副牌,看看剩余多少张牌以及抽到特定牌的机率是多少。查看剩余的牌数十分简单。只需要计算 $deck 数组中包含的元素数。要获得抽到特定牌的机率,我们需要一个函数来遍历整副牌并估算其余牌以查看是否匹配。
清单 11. 计算抽到特定牌的几率 function calculate_odds($draw, $deck) { $remaining = count($deck); $odds = 0; foreach ($deck as $card) { if ( ($draw[''face''] == $card[''face''] && $draw[''suit''] == $card[''suit''] ) || ($draw[''face''] == '''' && $draw[''suit''] == $card[''suit''] ) || ($draw[''face''] == $card[''face''] && $draw[''suit''] == '''' ) ) { $odds++; } } return $odds . '' in '' $remaining; } 现在可以选出尝试抽出的牌。为了简单起见,传入看上去类似某张牌的数组。我们可以查找特定的一张牌。 清单 12. 查找指定的一张牌 $draw = array(''face'' => ''Ace'', ''suit'' => ''Spades''); echo implode(" of ", $draw) . '' : '' . calculate_odds($draw, $deck); 或者可以查找指定牌面或花色的牌。 清单 13. 查找指定牌面或花色的牌 $draw = array(''face'' => '''', ''suit'' => ''Spades''); $draw = array(''face'' => ''Ace'', ''suit'' => ''''); 简单的扑克发牌器 现在已经得到牌组构建器和一些工具,可以帮助计算出抽出特定卡的机率,我们可以整合一个真正简单的发牌器来进行发牌。出于本例的目的,我们将构建一 个可以抽出五张牌的发牌器。发牌器将从整副牌中提供五张牌。使用数字指定需要放弃哪些牌,并且发牌器将用一副牌中的其他牌替换这些牌。我们无需指定发牌限 制或特殊规则,但是您可能会发现这些是非常有益的个人经验。 如上一节所示,生成并洗牌,然后每只手五张牌。按数组索引显示这些牌,以便可以指定返回哪些牌。您可以使用表示要替换哪些牌的复选框来完成此操作。 清单 14. 使用复选框表示要替换的牌 foreach ($hand as $index =>$card) { echo "< span=""> . $index . "]''> <> " . $card[''face''] . '' of '' . $card[''suit''] . ""; } 然后,计算输入 array
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
清单 15. 计算输入 $i = 0; while ($i < 5) { if (isset(
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
$hand[$i] = array_shift($deck); } } 使用此脚本,您可以尝试找到处理特定一组牌的最佳方法。 |
||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |