1

编辑:写 w 时。弹出一个列表,列出 simplewindow 可用的方法。其中之一是

setLineColor(颜色 arg0):无效 - 简单窗口

现在,如果我双击弹出窗口中的这一行,我会 w.setLineColor(arg0); 打印代码。我从这里去哪里?我没有任何线索。

你好,我有这个学校作业让 2 只海龟在一个盒子里走来走去,直到它们彼此接近 50 像素或更近,我做到了。但是只是为了好玩,如果可能的话,我想给它们上色。我用谷歌搜索它并找到了一个我认为我设法导入的颜色类。我不确定课程或几乎任何东西是如何工作的,所以我真的不知道我在做什么。

我导入的课程是import java.awt.*;

这是我的海龟程序在我运行它时的样子http://i.imgur.com/pcKnsCC.png并且下面是代码(你将无法运行它,因为我有学校的课程你没有我想)请注意,我随机放置了颜色代码,我尝试为 smth 着色..

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

    }

    }

所以其中一只乌龟被称为t1。现在我想给他的脚步上色,以便用红色而不是默认的黑色说话,有人可以帮我吗?

4

2 回答 2

3

在不了解该库的情况下,这只是在黑暗中尝试了一下,但是旧的海龟图形 API 习惯使用该命令setPenColor(color),因此值得尝试执行t1.setPenColor(c);

干杯,祝你学习顺利。

编辑:您新发现的 setLineColor() 方法采用颜色,如方法签名中所示。只需以颜色传递它 - 我建议摆脱你的 'getRed()' 方法,它对你没有任何作用。尝试这个:

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

这里发生的是您正在定义一种新颜色,并将其称为“红色”,并将一个值(100)传递给颜色构造函数。该颜色构造函数知道 100 位于红色系列中的某个位置。然后,您告诉您的窗口将其线条颜色设置为该颜色。

于 2013-10-04T18:33:38.307 回答
1

编辑:写 w 时。弹出一个列表,列出 simplewindow 可用的方法。其中之一是

setLineColor(颜色 arg0):无效 - 简单窗口

现在,如果我双击弹出窗口中的这一行,我会 w.setLineColor(arg0); 打印代码。我从这里去哪里?我没有任何线索。

于 2013-10-06T10:41:06.993 回答