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伪静态页面函数附使用方法
Jun 20 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
Jun 18 PHP
php中url函数介绍及使用示例
Feb 13 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
php编程每天必学之验证码
Mar 03 PHP
php将文件夹打包成zip文件的简单实现方法
Oct 04 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
PHP设计模式(观察者模式)
Jul 07 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
php&amp;java(三)
2006/10/09 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
php中{}大括号是什么意思
2013/12/01 PHP
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
JS实现打字游戏
2019/12/17 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
解决python 输出是省略号的问题
2018/04/19 Python
python绘制中国大陆人口热力图
2018/11/07 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
酒店总经理助理职责
2014/02/12 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
《雾凇》教学反思
2014/02/17 职场文书
大学毕业感言200字
2014/03/09 职场文书
公务员处分决定书
2015/06/25 职场文书
2015中学教学工作总结
2015/07/22 职场文书
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
mysql中between的边界,范围说明
2021/06/08 MySQL
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
Python中time与datetime模块使用方法详解
2022/03/31 Python
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS