Я пытаюсь нарисовать линию, которая вращается вокруг и вокруг, но, к сожалению, мне пока не удается это исправить. Если кто-нибудь знает, как это неправильно, пожалуйста, укажите мне это. Благодарю. О, кстати, это красиво оформляется, но линия не успевает крутиться в полном круге. Он вращается на полпути, а затем вращается назад.Как нарисовать линию, которая вращается вокруг и вокруг?
public class Test2 extends Drag {
static int x1 = 200;
static int x2 = 400;
static int y1 = 250;
static int y2 = 250;
static int whichQuad;
static int initialx1 = 200;
static int initialx2 = 400;
static int initialy1 = 250;
static int initialy2 = 250;
public static void main(String args[]) throws InterruptedException {
// maybe y1, and y2 have to be x2/2? YESSSSSSSSSSSSSSSSSSS
// okay this is a given. initial y1 have to equal initali y2;
// x1+(x1/2)
// if x1 == 0, then quad == 1;
// if x1 == 5, and y1 == 0, then quad == 2;
// if x1 == 10, then quad == 3;
// if x1 == 5, and y1 == 10, then quad == 4;
// if x1 == initialx1, then quad == 1;
// ******if x1 == (initialx1/2)+(initialx2/2), and y1 == initialy2 -
// initialy1, then quad == 2;
// if x1 == initialx2, then quad == 3;
// ******if x1 == (initialx1/2)+(initialx2/2), and y1 == initialx2, then
// quad == 4;
// if quad == 1, then x1++,x2--,y1--,y2++
// if quad == 2, then x1++,x2--,y1++,y2--
// if quad == 3, then x1--,x2++,y1++,y2--
// if quad == 4, then x1--,x2++,y1--,y2++
Frame.frame.add(Paint.paint);
Frame.frame();
while (true) {
if (x1 == initialx1) {
whichQuad = 1;
}
if (x1 == (initialx1/2) + (initialx2/2) && y1 == initialx2/2) {
whichQuad = 2;
}
if (x1 == initialx2) {
whichQuad = 3;
}
if (x1 == (initialx1/2) + (initialx2/2) && y1 == initialx1) {
whichQuad = 4;
}
if (whichQuad == 1) {
x1++;
x2--;
if(y1 != initialy2 - initialy1){
y1--;}
y2++;
}
if (whichQuad == 2) {
x1++;
x2--;
y1++;
y2--;
}
if (whichQuad == 3) {
x1--;
x2++;
y1++;
y2--;
}
if (whichQuad == 4) {
x1--;
x2++;
if(y1 != initialy2 - initialy1){
y1--;}
y2++;
}
System.out.println("(" + whichQuad + ")" + "x1:" + x1 + " y1:" + y1 + " x2:" + x2 + " y2:" + y2);
Thread.sleep(50);
Frame.frame.repaint();
}
}
}
Вы пробовали выполнить свой код в отладчике и посмотреть, что происходит? – azurefrog
Да. Я пробовал много часов. – Skillet
Тогда вы можете уточнить, что происходит не так? Вы не указали ничего о том, какая часть вашего кода терпит неудачу, и вы не представили пример выполнения. – azurefrog