2010-12-02 16 views
0

均等にライン上のオブジェクトを広げ:javaの - 私は、コードのこの部分で作成されたウィンドウでライン上のオブジェクトを作成してい

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); 

は、1匹のカメを作成します。時間。今私は、カメに50のYコーディネートと50 + k * 10のXコーディネートがあると設定しました。これは、Xのコーディネートが50で始まり、Xのコーディネートが250で始まるからです。

今、私が望むのは、作成されたカメのnrに基づいて(ユーザーが入力します)、私はカメをしたいですこの線上に均等に広がります。どうやってするの?私が書いた線と、おそらく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