奇怪的洗牌逻辑
程序员文章站
2024-01-24 22:46:58
...
跑了1W次,洗牌逻辑耗时2.5019571781158,没有出现重复率,但是感觉奇奇怪怪的,先留着吧。回头再说 无 class demo{ private $dic = array('a', 'b', 'c', 'd'); // 花色 private $kings = array('w1', 'w2'); // 大小王 private $card_set = array(); // 扑克
跑了1W次,洗牌逻辑耗时2.5019571781158, 没有出现重复率,但是感觉奇奇怪怪的,先留着吧。回头再说
class demo { private $dic = array('a', 'b', 'c', 'd'); // 花色 private $kings = array('w1', 'w2'); // 大小王 private $card_set = array(); // 扑克牌 private $card_array = array(); // 洗好的牌 // 执行随机洗牌 public function getCardSet() { $this->createCard(); for($i = 0; $i getRandNum(); $k = $this->key; $this->card_array[$i] = $this->card_set[$k]; unset($this->card_set[$k]); } ksort($this->card_array); return implode(',', $this->card_array); } // 生成扑克牌 public function createCard() { $tmp_card = array(); for($i = 1; $i dic); for($j = 0; $j dic[$j] . $i; } } $this->card_set = array_merge($tmp_card, $this->kings); } // 生成随机数 public function getRandNum() { $num = microtime(true); $k = rand(0, 53); if(! isset($this->card_set[$k])) { $this->getRandNum(); } else { $this->key = $k; } } }
上一篇: 自用正则整理
推荐阅读
-
奇奇怪怪的题目 求最长递增子序列,map黑科技
-
解决Spring Boot 在localhost域奇怪的404问题(Mac book pro)
-
Python中subprocess.Popen的奇怪现象
-
Java 逻辑运算符中&&与&,||与|的区别
-
java代码执行字符串中的逻辑运算方法
-
mysql的float类型很奇怪的,2个值不相等
-
PHP MVC的M,应该是写C所要调用的业务逻辑方法,还是访问数据库的方法?
-
PHP提交数据到mysql很奇怪的问题??????????????????????
-
hibernate的关联奇怪的地方 博客分类: hibernate HibernateSQLCC++C#
-
struts2 奇怪的Action警告 博客分类: Struts2 jsonStrutsServletApacheWeb