我可以给我的乌龟上色吗?

时间:2013-10-04 18:28:13

标签: java class colors

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

  

setLineColor(Color arg0):void - SimpleWindow

现在如果我在弹出窗口中点击这一行,我会得到代码 w.setLineColor(arg0); 打印出来..我从哪里开始?我不知道。

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

我导入的课程是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。现在我想为他的脚步着色,以便说出红色而不是默认的黑色,有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:3)

在不知道库的情况下,它只是在黑暗中的一点点,但旧的龟图形API过去常常使用命令setPenColor(color),因此值得尝试执行{{1 }}

在你的学习中干杯并祝你好运。

编辑:新发现的setLineColor()方法接受一个Color,如方法签名中所示。只是传递一种颜色 - 我建议摆脱你的'getRed()'方法,它没有为你做任何事情。试试这个:

t1.setPenColor(c);

这里发生的是你定义一个新颜色,并将其称为'红色',并将值(100)传入颜色构造函数。那个颜色构造器理解100是红色系列中的某个地方。然后,您告诉窗口将其线条颜色设置为该颜色。

答案 1 :(得分:1)

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

  

setLineColor(Color arg0):void - SimpleWindow

现在如果我在弹出窗口中点击这一行,我会得到代码 w.setLineColor(arg0); 打印出来..我从哪里开始?我不知道。