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 相关文章推荐
PHP获取网站域名和地址的代码
Aug 17 PHP
php获取参数的几种方法总结
Feb 18 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
php自动获取关键字的方法
Jan 06 PHP
大家在抢红包,程序员在研究红包算法
Aug 31 PHP
PHP MSSQL 分页实例
Apr 13 PHP
php简单实现多语言切换的方法
May 09 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 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
克隆一个新项目的快捷方式
2013/04/10 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
python实现简单的socket server实例
2015/04/29 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
快速入门python学习笔记
2017/12/06 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
python修改文件内容的3种方法详解
2019/11/15 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
行政人员岗位职责
2013/12/08 职场文书
文化建设工作方案
2014/05/12 职场文书
大专生自荐书范文
2014/06/22 职场文书
力学专业求职信
2014/07/23 职场文书
审计班子对照检查材料
2014/08/27 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
项目验收申请报告
2015/05/15 职场文书