PHP全概率运算函数(优化版) Webgame开发必备


Posted in PHP onJuly 04, 2011
<?php 
$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); /** 
* 全概率计算 
* 
* @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4) 
* @return string 返回上面数组的key 
* @author Lukin <my@lukin.cn> 
*/ 
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开发必备

PHP 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
php 缓存函数代码
Aug 27 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php定时执行任务设置详解
Feb 06 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
PHP字符串和十六进制如何实现互相转换
Jul 16 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 #PHP
ajax 的post方法实例(带循环)
Jul 04 #PHP
php高级编程-函数-郑阿奇
Jul 04 #PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 #PHP
php 目录与文件处理-郑阿奇(续)
Jul 04 #PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 #PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
Jul 04 #PHP
You might like
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
Prototype Selector对象学习
2009/07/23 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
create-react-app安装出错问题解决方法
2018/09/04 Javascript
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
Python实现115网盘自动下载的方法
2014/09/30 Python
python中urllib模块用法实例详解
2014/11/19 Python
python检查指定文件是否存在的方法
2015/07/06 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
python截取两个单词之间的内容方法
2018/12/25 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
Python super()方法原理详解
2020/03/31 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
生态学毕业生自荐信
2013/10/27 职场文书
班长自荐书范文
2014/02/11 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
公司年夜饭通知
2015/04/25 职场文书
Python绘制散乱的点构成的图的方法
2022/04/21 Python
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL