1

編集:wを書くとき。simplewindow で使用できるメソッドのリストがポップアップ表示されます。それらの1つは

setLineColor(Color arg0): void - SimpleWindow

ポップアップ ウィンドウでこの行をダブルクリックすると、コードが出力 w.setLineColor(arg0); されます。私は見当もつかない。

こんにちは、私はこの学校の宿題で、2 匹のカメが互いに 50 ピクセル以下になるまで箱の中を歩き回るようにしました。しかし、楽しみのために、可能であれば色を付けたいと思っています。私はそれをグーグルで検索し、なんとかインポートできたと思うカラークラスを見つけました。クラスやほとんどすべてがどのように機能するのかよくわからないので、実際に何をしているのかわかりません。

インポートしたクラスはimport java.awt.*;

これは、私のタートル プログラムを実行したときの様子ですhttp://i.imgur.com/pcKnsCC.pngで、コードは次のとおりです (私はあなたが持っていない学校のクラスを持っているので、実行することはできません) )色コードをランダムに配置したことに注意してください..

    package ovn4;

import java.util.Random;
import java.awt.*;

import se.lth.cs.window.SimpleWindow;
import se.lth.cs.p.ovn.turtle.Turtle;

public class g455 {
    public void getRed() {

    }
    public static void main(String[] args) {

        SimpleWindow w = new SimpleWindow(500,500,"squratle window");
        Turtle t1 = new Turtle(w,222,222);
        Turtle t2 = new Turtle(w,100,400);
        Color c= new Color(100);
        c.getRed();


        int y1 = 5;
        int x1=5;
        int y2=5;
        int x2=5;


        int z = 100;

        while(z>49) {

            SimpleWindow.delay(1);
            Random rand = new Random();
            int steps = rand.nextInt(10)+1;
            int vinkel = rand.nextInt(359)-179;
            t1.penDown();
            t1.forward(steps);
            t1.right(vinkel);
            x1=t1.getX();
            y1=t1.getY();

            rand = new Random();
            steps = rand.nextInt(10)+1;
            vinkel=rand.nextInt(359)-179;
            t2.penDown();
            t2.forward(steps);
            t2.right(vinkel);

            y2=t2.getY();
            x2=t2.getX();

            z= (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
            z= (int) Math.sqrt(z);  

        }
        System.out.println("avståndet mellan dom är "+z+" pixlar.");

    }

    }

したがって、タートルの 1 つは t1 と呼ばれます。今、私は彼の足跡に色を付けて、デフォルトの黒ではなく赤にしたいと思っています。

4

2 に答える 2

3

ライブラリを知らずに、それは暗闇の中のちょっとしたショットですが、古いタートル グラフィックス API はコマンドを使用してsetPenColor(color)いたので、試してみる価値があります。t1.setPenColor(c);

乾杯とあなたの学習の幸運。

編集:メソッドの署名に示されているように、新しく見つかった setLineColor() メソッドは Color を受け取ります。色で渡すだけです。「getRed()」メソッドを削除することをお勧めします。何もしていません。これを試して:

Color red = new Color(100);
w.setLineColor(red);

ここで起こっていることは、新しい色を定義し、それを「赤」と呼び、値 (100) を色コンストラクターに渡しているということです。その色のコンストラクターは、100 が赤の色ファミリーのどこかにあることを理解しています。次に、ウィンドウに線の色をその色に設定するように指示しています。

于 2013-10-04T18:33:38.307 に答える
1

編集:wを書くとき。simplewindow で使用できるメソッドのリストがポップアップ表示されます。それらの1つは

setLineColor(Color arg0): void - SimpleWindow

ポップアップ ウィンドウでこの行をダブルクリックすると、コードが出力 w.setLineColor(arg0); されます。私は見当もつかない。

于 2013-10-06T10:41:06.993 に答える