2013-07-02 105 views
2

我怎樣才能獲得範圍內的隨機數?我有一個X,Y和Z座標的最小值和最大值範圍(這是一個視頻遊戲)。我如何獲得位於這些邊界內的隨機座標?獲取隨機位置從座標

回答

1

如果你想要一個整數,使用Random類:

import java.util.Random; 

要生成整數

Random r = new Random(); 
r.nextInt(max - min + 1) + min; // This will return a random int between min and max 

生成隨機浮動(不需要Random類)

Min + (Math.random() * (Max - Min)) 
+0

'敏+(的Math.random()*(最大值 - 最小值))'爲我工作!只是在等待接受答案。 – nrubin29

+0

酷!很高興工作! – jh314

1

你試過嗎?

(Math.random() * upperLimit) + lowerLimit 
0
float[] getRandomVect 
(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) 
{ 
     //Vectors can be translated, multipled or scaled later 
     float[] result=new float[3]; 
     result[0]=Math.random()*(maxX-minX)+minX; 
     result[1]=Math.random()*(maxY-minY)+minY; 
     result[2]=Math.random()*(maxZ-minZ)+minZ; 
     return result; 
} 

//later usage: 
float [] randomVector= getRandomVect(2,2,3,5,5,10); 
// makes vector's X between 2 and 5 
// Y between 2 and 5 
// Z between 3 and 10