PHP游戏编程游戏编程25个脚本代码个脚本代码
php游戏开发过程中,经常需要用到的一些函数,需要的朋友可以参考下。
清单 1.简单的掷骰器
许多游戏和游戏系统都需要骰子。让我们先从简单的部分入手:掷一个六面骰子。实际上,滚动一个六面骰子就是从 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. 创建名称的文本文件创建名称的文本文件
复制代码 代码如下: