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

标签 java class colors

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

setLineColor(Color arg0): void - SimpleWindow

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

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

我导入的类是import java.awt.*;

这是我的海龟程序运行时的样子 http://i.imgur.com/pcKnsCC.png下面是代码(你无法运行它,因为我有学校的类(class),我认为你没有)请注意,我随机放置了颜色代码,我试着给 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。现在我想给他的足迹上色,比如用红色代替默认的黑色,有人可以帮我吗?

最佳答案

在不了解该库的情况下,这只是一些盲目尝试,但旧的 turtle 图形 API 过去常常为此使用命令 setPenColor(color),因此值得一试执行 t1.setPenColor(c);

干杯,祝你学习顺利。

编辑:您新发现的 setLineColor() 方法采用颜色,如方法签名中所示。只需以一种颜色传递它 - 我建议摆脱您的“getRed()”方法,它不会为您做任何事情。试试这个:

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

此处发生的事情是您定义了一种新颜色,并将其命名为“红色”,并将值 (100) 传递给颜色构造函数。那个颜色构造器知道 100 是红色系列中的某个地方。然后,您告诉窗口将其线条颜色设置为该颜色。

关于java - 我可以给我的乌龟上色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188295/

相关文章:

Java和缓存内存: prefetching and alignment?

java - 外键映射到 Embeddable 类

html - Sublime Text 可以自动完成 CSS 类吗?

javascript - Javascript 中的类关键字

android - 设置背景颜色的个性化 ListView 错误

java - 接口(interface)声明以抽象作为参数的方法

java - 从 Calendar 到 GregorianCalendar 无需转换

C++ 在多个项目中包含一个类

jquery - Jvectormap 1.2.2 颜色问题

r - 如何使用 R 为定性渐变着色(使用独立类别/多维度)