隨機數種子未初始化時功 能: 隨機數發生器用 法: int random(int num);程式例:#include stdlib.h#include stdio.h#include time.h/* prints a random number in the range 0 to 99 */int main(void){randomize();隨機數種子被初始化時printf(Random number in the 0-99 range: %d\n, random (100));return 0;}注意:在使用Random之前需要使用Randomize語句進行隨機數種子的初始化。例如:vara,i,,j:integer;begin{RANDOMIZE;}for j:=1 to 2 dobeginfor i:=1 to 10 dobegina:=random(1000);writeln(a);end;writeln;end;end.這兩組數據輸出的是一樣的結果,如果在程式前加上RANDOMIZE(即把大括弧去掉)再運行程式,輸出數據就不一樣了.RANDOM產生的是偽隨機數或者說是用一種複雜的方法計算得到的序列值,因此每次運算時需要一個不同的種子值。種子值不同,得到的序列值也不同。因此也就是真正的隨機數了。這也正是RANDOMIZE隨機初始化的作用。 VB里用 NEW RANDOM()來表示初始化。對調用者的說明在Random類中的隨機數生成器的實現不能保證.NET Framework 的主版本之間保持相同。。結果是,應用程式代碼不應假定相同的種子將產生不同版本的 .NET 框架中的相同偽隨機序列。對繼承者的說明在 .NET Framework 1.0 和 1.1 版中,派生自Random的類的最小實現需要重寫Sample方法,以定義用於生成隨機數的新算法或修改算法。然後,該派生類便可依賴Random.Next()、Random.Next(Int32)、Random.Next(Int32, Int32)、NextBytes和NextDouble方法的基類實現來調用Sample方法的派生類實現。在 .NET Framework 2.0 及更高版本中,Random.Next()、Random.Next(Int32, Int32)和NextBytes方法的行為發生了更改,因此這些方法不必再調用Sample方法的派生類實現。因此,派生自Random並且面向 .NET Framework 2.0 及更高版本的類還應重寫這三種方法。
Random函式Math.random();可以產生出0-1之間的任意小數,例如0.0105901374530933 或0.872525005541986,有幾個其他的函式可以用來改變產生的數字,從而可以更好的在你的影片中使用:Math.round();Math.ceil();Math.floor();這幾個函式都是用來取得整數的,Math.round();是採用四捨五入方式取得最接近的整數。Math.ceil();是向上取得一個最接近的整數。Math.floor(); 和Math.ceil();相反,Math.floor();向下取得一個最接近的整數。結合這些函式,你就可以這樣寫:Math.round(Math.random());這個表達式可以生成一個0.0和1.0之間的一個數,然後四捨五入取得一個整數。這樣所生成的數字就是0或1。這個表達式可以用在各有50%的可能的情況下,例如拋硬幣,或者true/false指令。*10 是將你所生成的小數乘以10,然後四捨五入取得一個整數:Math.round(Math.random()*10);要創建一個1到10之間的隨機數,可以這樣寫:Math.ceil(Math.random()*10);應為是Math.ceil向上取值,所以不會產生0。要創建一個5到20的隨機數可以這樣寫Math.round(Math.random()*15)+5;也就是說,如果要創建一個從x到y的隨機數,就可以這樣寫Math.round(Math.random()*(y-x))+x;x和y可以是任何的數值,即使是負數也一樣。要製作上面的那個例子,首先要創建一個按鈕符號,拖動到主場景中,然後創建一個新的動態文本框,賦予動態文本框的變數名為“display”。創建的工作到此結束,下面來添加腳本.選中按鈕,打開actions視窗,輸入下面的代碼,你可以在下拉選單中選擇,也可以直接將下面的代碼拷貝進去:on (release) {display = Math.round (Math.random ()*200)-100;}完成了,下面測試一下你的影片,你會注意到代碼中的值遵循了那個公式。如果x =-100, y =100,那么y-x=200, +x = -100.隨機數在flash中還可以有多種不同的套用。要讓一個movieclip在隨機的螢幕上不同的位置上出現,顯示的位置在0到200之間,可以這樣寫,注意movieclip的實例名為“bob”.bob._x = Math.round(Math.random()*200);bob._y = Math.round(Math.random()*200);或者隨機的控制movieclip的大小(從0到100之間):bob._width = Math.round(Math.random()*100);bob._height = Math.round(Math.random()*100);也可以隨機的載入一個movieclip,如果你的movieclip的命名是bob1, bob2一直到bob5,我們可以這樣寫。i = Math.ceil(Math.random()*5);attachMovie(bob+i, fred+i, 1);運行這個代碼以後。就會隨機的載入一個movieclip,例如bob3,放在level 1,賦予實例名為fred3。VB:中 用rnd 函式返回一個隨即函式Function Rnd() As SingleVBA.Math 的成員返回一個隨機數返回的範圍在內隨機數語句RANDOMIZE;{隨機數激發器}RANDOM(N);{表示產生[0,N)之間的隨機整數,可以直接使用RANDOM語句表示隨機產生一個[0,1)的數}例:如果要隨機取一個3位整數只需使用下列語句:RANDOMIZE;N:=TRUNC(RANDOM*900)+100;既可。C#語言中的語句Random類的主要方法是Next方法,它產生一個介於兩個整數之間的隨機數。語法格式為:public virtual int Next(int min Value,int max Value);NextDouble 方法:產生大於或等於0.0 而小於1.0 的雙精度浮點數字。語法格式為:public virtual double NextDouble();例:求兩個隨機數的和。Random p1 = new Random(10);Random p2 = new Random();int result;result = p1.Next(10, 99) + p2.Next(0,9);Console.WriteLine(result );javascript實例在本例中,我們將取得介於 0 到 1 之間的一個隨機數:
htmlbodyscripttype=text/javascriptdocument.write(Math.random())/script/body/html