快速业务通道

25个不错PHP的游戏编程脚本代码分享

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23
叫声及清晰的敌方搜寻者的声音。您浑身发冷、不住颤抖,而且没有武器。该场景中的每一句话都介绍场景的特定方面:

  “您醒来后发现自己迷失于丛林中” — 这句话将建立设置。

  “您知道自己必须赶去纽约” — 这句话将描述目标。

  “您可以听到狗叫声” — 这句话将介绍敌人。

  “您浑身发冷、不住颤抖,而且没有武器” — 这句话将添加复杂度。

  就像创建名字和姓氏的文本文件一样,首先分别创建设置、目标、敌人和复杂度的文本文件。代码归档中附带了样例文件。在拥有这些文件后,生成场景的代码与生成名称的代码基本相同。

  清单 6. 生成场景

  $settings = explode("\n", file_get_contents(''scenario.settings.txt''));

  $objectives = explode("\n", file_get_contents(''scenario.objectives.txt''));

  $antagonists = explode("\n", file_get_contents(''scenario.antagonists.txt''));

  $complicati**** = explode("\n", file_get_contents(''scenario.complicati****.txt''));

  shuffle($settings);

  shuffle($objectives);

  shuffle($antagonists);

  shuffle($complicati****);

  echo $settings[0] . '' '' . $objectives[0] . '' '' . $antagonists[0] . '' ''

  . $complicati****[0] . "\n";

  我们可以通过添加新文本文件向场景中添加元素,也可能希望添加多重复杂度。添加到基本文本文件中的内容越多,场景随时间的变化就越多。

  牌组创建器(Deck builder)和装备(shuffler)

  如果您要玩纸牌并且要处理与纸牌相关的脚本,我们需要用装备中的工具整合一副牌组构建器。首先,让我们构建一副标准纸牌。需要构建两个数组 — 一个用于保存同花色的组牌,而另一个用于保存牌面。如果稍后需要添加新组牌或牌类型,则这样做将获得很好的灵活性。

  清单 7. 构建一副标准扑克牌

  $suits = array (

  "Spades", "Hearts", "Clubs", "Diamonds"

  );

  $faces = array (

  "Two", "Three", "Four", "Five", "Six", "Seven", "Eight",

  "Nine", "Ten", "Jack", "Queen", "King", "Ace"

  );

  然后构建一副牌数组来保存所有纸牌值。只需使用一对 foreach 循环即可完成此操作。

  清单 8. 构建一副牌数组

  $deck = array();

  foreach ($suits as $suit) {

  foreach ($faces as $face) {

  $deck[] = array ("face"=>$face, "suit"=>$suit);

  }

  }

  在构建了一副扑克牌数组后,我们可以轻松地洗牌并随机抽出一张牌。

  清单 9. 洗牌并随机抽出一张牌

  shuffle($deck);

  $card = array_shift($deck);

  echo $card[''face''] . '' of '' . $card[''suit''];

  现在,我们就获得了抽取多副牌或构建多层牌盒(multideck shoe)的捷径。

  胜率计算器:发牌

  由于构建扑克牌时会分别跟踪每张牌的牌面和花色,因此可以通过编程方式利用这副牌来计算得到特定牌的几率。首先每只手分别抽出五张牌。

  清单 10. 每只手抽出五张牌

  $hands = array(1 => array(), 2=>array());

  for ($i = 0; $i < 5; $i++) {

  $hands[1][] = implode(" of ", array_shift($deck));

  $hands[2][] = implode(" of ", array_shift($deck));

  }

 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

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号