- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP编写的25个游戏脚本
脚本, PHP, 游戏, 编写脚本, PHP, 游戏, 编写
PHP是一种易于使用、易于学习且可以广泛获取的编程语言。它非常适合开发在各种游戏中可以使用的简单脚本。无论是一个人玩简单的使用纸和笔的游戏,还是同一群人玩复杂的桌面角色扮演游戏,或者任意类型的联机游戏,本系列都提供了适合您的内容。“用 PHP 可以编写的 30 个游戏脚本”系列中的每篇文章都将分别用不到 300 词的文字介绍 10 个脚本(3d10 表示 “掷三个 10面的骰子”),这些介绍性文字甚至对于开发新手来说都十分简单,而且对于经验丰富的游戏玩家来说也十分有用。本系列的目的在于为您提供可以修改的内容来满足自身的需求,以便您可以在下一次游戏交流会上通过展示您的笔记本来给朋友和玩家们留下深刻印象。
开始之前
作为一名游戏专家/设计者和开发人员,我经常发现自己在运行、规划和玩游戏时,很少编写有用的实用程序和脚本。有时我需要快速想出创意。其他时候,我只需要编出一大堆非玩家角色(Non-PlayerCharacter,NPC)的名称。偶尔,我还需要处理数字、处理一些异常或者将一些文字游戏集成到游戏中。只需事先完成一点脚本工作,就可以更好地管理这些任务。
本文将探究在各种游戏中可以使用的 10 个基本脚本。代码压缩包包含所讨论的每个脚本的完整源代码,并且可以在 chaoticneutral 查看脚本实际运行情况。
我们将快速地介绍这些脚本。有关如何查找主机或设置服务器的内容将不做介绍。有很多 Web 托管公司提供 PHP,并且如果需要安装自己的PHP,XAMPP 安装程序使用起来也十分简单。我们将不会花费大量时间谈论 PHP最佳实践或游戏设计技术。本文介绍的脚本易于理解、使用简单并可以快速掌握。
简单的掷骰器
许多游戏和游戏系统都需要骰子。让我们先从简单的部分入手:掷一个六面骰子。实际上,滚动一个六面骰子就是从 1 到 6 之间选择一个随机数字。在 PHP 中,这十分简单:echo rand(1,6);。
在许多情况下,这基本上很简单。但是在处理机率游戏时,我们需要一些更好的实现。PHP提供了更好的随机数字生成器:mt_rand()。在不深入研究两者差别的情况下,可以认为 mt_rand是一个更快、更好的随机数字生成器:echo mt_rand(1,6);。如果把该随机数字生成器放入函数中,则效果会更好。
清单 1. 使用 mt_rand() 随机数字生成器函数
function roll () {
return mt_rand(1,6);
}
echo roll();
然后可以把需要滚动的骰子类型作为参数传递给函数。
清单 2. 将骰子类型作为参数传递
function roll ($sides) {
return mt_rand(1,$sides);
}
echo roll(6); // roll a six-sided die
echo roll(10); // roll a ten-sided die
echo roll(20); // roll a twenty-sided die
从这里开始,我们可以继续根据需要一次滚动多个骰子,返回结果数组;也可以一次性滚动多个不同类型的骰子。但是大多数任务都可以使用这个简单的脚本。
随机名称生成器
如果正在运行游戏、编写故事或者一次性创建大批字符,有时会疲于应付不断出现的新名字。让我们看一看可用于解决此问题的一个简单随机名称生成器。首先,让我们创建两个简单数组 — 一个用于名字,一个用于姓氏。
清单 3. 名字和姓氏的两个简单数组
$male = array(
William,
Henry,
Filbert,
John,
Pat,
);
$last = array(
Smith,
Jones,
Winkler,
Cooper,
Cline,
);
然后就可以从每个数组中选择一个随机元素:echo $male[array_rand($male)] . . $last[array_rand($last)];。要一次性提取多个名称,只需混合数组并根据需要提取。
清单 4. 混合名称数组
shuffle($male);
shuffle($last);
for ($i = 0; $i = 3; $i++) {
echo $male[$i] . . $last[$i];
}
基于此基本概念,我们可以创建保存名字和姓氏的文本文件。如果在文本文件的每一行中存放一个名字,则可以轻松地用换行符分隔文件内容以构建源代码数组。
清单 5. 创建名称的文本文件
$male = e
您可能关注的文档
- I_数据挖掘与数据挖掘工具.pdf
- IPTV编码器产品市场分析.doc
- ITOO旗下 wyrestorm商用IP方案 JPEG2000 编解码器 IP-JE-131 IP-JD-141 推广书.pdf
- IT十年经典书系列一_设计模式_可复用面向对象软件的基础 参考文献.pdf
- IT运维之Linux服务器监控方案.doc
- IT治理与共治共享机制.pdf
- javascript原理.pdf
- Java脚本语言程序员手册.pdf
- jdk1.5-1.8的新特性.doc
- JSP复习大纲(答案).doc
- 吉林地区普通高中友好学校联合体2024-2025学年高二下学期期中考试 数学 PDF版含答案.pdf
- 吉林地区普通高中友好学校联合体2024-2025学年高一下学期期中考试 数学 PDF版含解析.pdf
- 2024年贵州省委宣传部所属事业单位招聘2人方案笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2024年贵州省委宣传部所属事业单位招聘2人方案笔试高频难、易错点备考题库及参考答案详解1套.docx
- 危害因素分类及代码标准解读.docx
- 现代电工技术考试题及答案.docx
- 线束技术员面试题及答案.docx
- 下颌骨增生疾病防治指南解读.docx
- 小学毕业劳动与技术考试题及答案.docx
- 培训消防法课件.ppt
最近下载
- GB50209-2010建筑地面工程施工质量验收规范(新).pdf VIP
- 新苏教版六年级科学上册 第一单元《物质的变化》测试卷(A卷).docx VIP
- 2025年中国便利店发展报告.pptx VIP
- 新苏教版六年级科学上册第一单元《物质的变化》测试卷及答案.pdf VIP
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 住院患者跌倒护理风险评估与护理指导意见.pdf VIP
- 煤矿用防爆电气设备防爆检查标准-培训课件.pptx
- 半导体物理学(第8版)刘恩科课后习题答案解析.pdf
- 新媒体背景下信息技术的发展及其应用分析.pdf VIP
- 一种大吨位玄武岩纤维锚索整体张拉试验系统及试验方法.pdf VIP
文档评论(0)