s'',''t'',''u'',''v'',''w'',''x'',''y'',''z'');
$right = array_fill_keys($letters, ''.'');
$wrong = array();
现在需要一些代码来评估猜测并在完成猜字游戏的过程中显示该单词。
清单 18. 评估猜测并显示进度
if (stristr($word, $guess)) {
$show = '''';
$right[$guess] = $guess;
$wordletters = str_split($word);
foreach ($wordletters as $letter) {
$show .= $right[$letter];
}
} else {
$show = '''';
$wrong[$guess] = $guess;
if (count($wrong) == 6) {
$show = $word;
} else {
foreach ($wordletters as $letter) {
$show .= $right[$letter];
}
}
}
在源代码归档 中,可以看到如何序列化猜测数组并将该数组从一次猜测传递到另一次猜测中。
纵横字谜助手
我知道这样做不合适,但是有时在玩纵横拼字谜时,您不得不费劲地找出以 C 开头并以 T 结尾、包含五个字母的单词。使用为 Hangman 游戏构建的相同单词列表,我们可以轻松地搜索符合某个模式的单词。首先,找到一种传输单词的方法。为了简单起见,用句点替换缺少的字母:$guess = "c...t";。由于正则表达式将把句点处理为单个字符,因此我们可以轻松地遍历单词列表以查找匹配。
清单 19. 遍历单词列表
foreach ($words as $word) {
if (preg_match("/^" .
25个PHP游戏编程脚本代码 - 凌众科技
快速业务通道
++++选择通道++++
国内服务器 厦门电信服务器 汕头电信服务器 温州电信服务器 厦门网通服务器 汕头双线服务器 美国服务器 欧洲服务器 美国KT机房服务器 美国FDC机房服务器 香港服务器 新加坡服务器 韩国服务器 台湾服务器 英国服务器 德国服务器 新加坡Qala机房服务器 香港机房服务器 法国服务器 江苏电信服务器 美国TB机房服务器 日本服务器 河北网通服务器 厦门软二服务器 台湾机房服务器 韩国机房服务器 美国ST机房服务器 江西电信服务器 其他机房服务器 菲律宾服务器 日本机房服务器 菲律宾机房服务器
国内大带宽
25个PHP游戏编程脚本代码
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-23
content
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
POST[''guess''] . "$/",$word)) {
echo $word . "<br />\n";
}
}
根据单词列表的质量及猜测的准确度,我们应当能够得到合理的单词列表以用于可能的匹配。您必须自己决定 “表示 ‘不按规则玩’ 的由五个字母组成的单词” 的谜底是 “chest” 还是 “cheat”。
米德里比斯
米德里比斯是一款文字游戏,玩家在游戏中得到一个简短的故事并用同一类型的不同单词替换主要类型的单词,从而创建同一个故事的更无聊的新版本。阅读以下文本:“I was walking in the park when I found a lake. I jumped in and swallowed too much water. I had to go to the hospital.” 开始用其他单词标记替换单词类型。开始和结束标记带有下划线用于阻止意外的字符串匹配。
清单 20. 用单词标记替换单词类型
$text = "I was _VERB_ing in the _PLACE_ when I found a _NOUN_.
I _VERB_ed in, and _VERB_ed too much _NOUN_. I had to go to the _PLACE_.";
接下来,创建几个基本单词列表。对于本例,我们也不会做得太复杂。
清单 21. 创建几个基本单词列表
$verbs = array(''pump'', ''jump'', ''walk'', ''swallow'', ''crawl'', ''wail'', ''roll'');
$places = array(''park'', ''hospital'', ''arctic'', ''ocean'', ''grocery'', ''basement'',
''attic'', ''sewer'');
$nouns = array(''water'', ''lake'', ''spit'', ''foot'', ''worm'',
''dirt'', ''river'', ''wankel rotary engine'');
现在可以重复地评估文本来根据需要替换标记。
清单 22. 评估文本
while (preg_match("/(_VERB_)|(_PLACE_)|(_NOUN_)/", $text, $matches)) {
switch ($matches[0]) {
case ''_VERB_'' :
shuffle($verbs);
$text = preg_replace($matches[0], current($verbs), $text, 1);
break;
case ''_PLACE_'' :
shuffle($places);
$text = preg_replace($matches[0], current($places), $text, 1);
break;
case ''_NOUN_'' :
shuffle($nouns);
$text = preg_replace($matches[0], current($nouns), $te