Re: [請益] rand問題
※ 引述《satire (夫復何求..)》之銘言:
: ※ 引述《sonicjr (平凡中的不平凡)》之銘言:
: : 使用 srand() 函式 這是設定亂數種子用的
: : 可以使用時間因素 以百萬分之一秒當亂數種子
: : srand((double)microtime()*1000000);
: : 這時在使用 rand() 函式 亂數的重複率就會比較低
: 這個有段時間了...
: 不過想想 還是回好了
: 剛好前幾天老師有要我做到類似的homework
: 不過 我的題目是"先繪製出骰子圖 在網頁中 以php程式 亂數值出骰子點數"
: 我程式碼是這樣寫的...
: <?
: srand((double)microtime()*1000000); //以百萬分之一秒當作亂數種子
: $d1=rand(1,6); //定義出第一顆骰子,在1~6中間 自動擲出一個亂數值
: $d2=rand(1,6);
: $d3=rand(1,6);
: echo "<center>";
: echo "<img src=dise$d1.jpg>";//放入骰子圖片 以亂數擲出
: echo "<img src=dise$d2.jpg>";
: echo "<img src=dise$d3.jpg>";
: echo "<hr>擲出的點數為:".($d1+$d2+$d3);//三顆骰子的點數總和
: echo "</center>";
: ?>
: 應該...看得懂吧?
<?
$d=$tmp=array();
$rnd=0;
$tmp[0]=1;
for($i=0;$i<3;$i++){
while(isset($tmp[$rnd])){
$rnd=rand(1,6);
}
$d[]=$rnd;
$tmp[$rnd]=1;
}
?>
$d裡面就會是不重複的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.93.130
推
02/04 20:40, , 1F
02/04 20:40, 1F
推
02/08 02:11, , 2F
02/08 02:11, 2F
討論串 (同標題文章)