Java 我不知道';我不明白为什么我的线会倾斜

Java 我不知道';我不明白为什么我的线会倾斜,java,oop,Java,Oop,我在高中的AP班上,我们正在使用JAVA或OOP程序,我甚至不知道它是什么。在课堂上,我们没有老师,所以我们基本上只能从一个包里自学。我正在学习如何画一张脸,我有点挣扎 首先,这里的提示- 看下面的图片,看看它是什么样子 我的问题是,这是我到目前为止得到的,它给我带来了很大的压力,我不知道为什么,但我的路线一直在以一个角度前进。当我不说的时候,为什么它会变成一个角度。。我的鼻子也有问题,我似乎找不到我想把它放在的地方,因为某种原因,它一直成一个角度 到目前为止我的代码 import apcsli

我在高中的AP班上,我们正在使用JAVA或OOP程序,我甚至不知道它是什么。在课堂上,我们没有老师,所以我们基本上只能从一个包里自学。我正在学习如何画一张脸,我有点挣扎

首先,这里的提示-

看下面的图片,看看它是什么样子

我的问题是,这是我到目前为止得到的,它给我带来了很大的压力,我不知道为什么,但我的路线一直在以一个角度前进。当我不说的时候,为什么它会变成一个角度。。我的鼻子也有问题,我似乎找不到我想把它放在的地方,因为某种原因,它一直成一个角度

到目前为止我的代码

import apcslib.*; 
public class DrawSquare 
{ 
    public static void main(String[] args) 
    { 
        DrawingTool marker; 
        SketchPad poster; 

        poster= new SketchPad(600,600); 
        marker= new DrawingTool(poster); 

        //left side of box
        marker.up(); 
        marker.move(0,0); 
        marker.down(); 
        marker.turnRight(180); 
        marker.forward(200); 

        //mouth
        marker.up(); 
        marker.move(40,60); 
        marker.down(); 
        marker.turnRight(90); 
        marker.forward(100); 

        //nose
        marker.up(); 
        marker.move(100,100); 
        marker.down(); 
        marker.turnRight(90); 
        marker.forward(100); 

    }
}    
根据方法
move(double,double)
更改绘图工具的方向

因此,如果您从上一个
(-200,0)
的端点向前移动到
(40,60)
,则新的方向向量将是
(240,60)
。将其旋转90度时,您将朝
(60,-240)
的方向前进

我已经画了一个草图来展示这种行为(不完全按比例-我希望我没有混合坐标)

因此,您可以使用以下选项来修复此问题:

  • 您可以直接移动到
    (40,60)
    ,而不是移动到临时点,然后强制移动到所需的方向:

    // mouth
    marker.up(); 
    marker.move(40,50);
    marker.move(40,60); // now you have direction "up"
    marker.down(); 
    marker.forward(100); 
    
  • 或者你可以用
    move
    代替“forward”

    // mouth
    marker.up(); 
    marker.move(40,60);
    marker.down(); 
    marker.move(40,160); // or whatever your expected target is...
    

  • 什么是绘图工具?你使用什么库?你能告诉我你在这个应用程序中使用了什么库吗?我可以看到您导入代码:import apcslib.*;但这还不清楚,我们还不足以帮助你!