2010-12-02 82 views
0

我通過這段代碼創建了一個窗戶裏行創建對象:爪哇 - 上線鋪開對象均勻

void createTurtles() { 
    int nrTurtles = Keyboard.nextInt("Set amount of turtles: "); 
    w = new GraphicsWindow(500, 300); 
    drawLinez(); 
    for (int k = 1; k <= nrTurtles; k++) { 
     Turtle t = new Turtle(w, 50, 50 + k*10); 
     t.right(90); 
     t.setSpeed(100); 
     t.penDown(); 
     turtles.add(t); 
    } 
} 

此代碼行:

 Turtle t = new Turtle(w, 50, 50 + k*10); 

創建的一個海龜時間。現在我已經確定烏龜的Y座標是50,X座標是50 + K * 10。這是因爲這條線開始於X座標50並停在X座標250.

現在我想要的是基於創建的海龜的數量(用戶輸入這個),我希望海龜是均勻分佈在這條線上。怎麼做?它與我寫的線條有關,也可能是k值或10.如圖所示,線條顯示在圖片中(見下面的鏈接),它的紅線表示海龜的數量是在這裏創建的。

回答

3

Devide由海龜數量的窗口height - 100,你將有你的distanceBetweenTurles

int nrTurtles = Keyboard.nextInt("Set amount of turtles: "); 

int height = 300; 
w = new GraphicsWindow(500, height); 

drawLinez(); 

double distanceBetweenTurles = (height - 100.0)/nrTurtles; 

for (int k = 1; k <= nrTurtles; k++) { 
    Turtle t = new Turtle(w, 50, 50 + (int) (k * distanceBetweenTurtles)); 
    t.right(90); 
    t.setSpeed(100); 
    t.penDown(); 
    turtles.add(t); 
} 
+0

太好了!這樣做:)謝謝! – Jake 2010-12-02 19:41:52