Home > Backend Development > PHP Tutorial > webgame PHP full probability operation function optimized version Webgame development essential

webgame PHP full probability operation function optimized version Webgame development essential

WBOY
Release: 2016-07-29 08:46:04
Original
1040 people have browsed it

复制代码 代码如下:


$setting = array(
// 黑色概率
0 => 0.99,
// 白色概率
1 => 0.01,
);
// Requires the GD Library
header("Content-type: image/png");
$im = imagecreatetruecolor(256, 256) or die("Cannot Initialize new GD image stream");
$white = imagecolorallocate($im, 255, 255, 255);
$start = microtime(true);
for ($y=0; $y<256; $y++) {
for ($x=0; $x<256; $x++) {
if (random($setting) === 1) {
imagesetpixel($im, $x, $y, $white);
}
}
}
$time = microtime(true) - $start;
header("X-Exec-Time: ".$time);
imagepng($im);
imagedestroy($im);
/**
* Full probability calculation
*
* @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4)
* @return string Returns the key of the above array
* @author Lukin
*/
function random($ps){
static $arr = array(); $key = md5(serialize($ps));
if (!isset($arr[$key])) {
$max = array_sum($ps);
foreach ($ps as $k=>$v) {
$v = $v / $max * 10000;
for ($i=0; $i<$v; $i++) $arr[$key][] = $k;
}
}
return $arr[$key][mt_rand(0,count($arr[$key])-1)];
}
?>


黑点出现概率99%,白点出现概率1%,测试结果:
 PHP全概率运算函数优化版 Webgame开发必备
 PHP全概率运算函数优化版 Webgame开发必备

以上就介绍了webgame PHP全概率运算函数优化版 Webgame开发必备,包括了webgame方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template