창에 특정 점을 그리는 코드를 작성하고 싶습니다. 나는 3 개의 다른 점 $ (e1, e11), (e2, e22), (e3, e33) $을 가지고있다. 임의로 하나를 선택하고 출력에 따라 다른 지점을 그립니다.Java의 "Math.random()"문제
public class ChaosGame {
public static void main(String[] args) {
Window window = new Window("Chaos", 800, 800);
window.open();
int e1 = 420;
int e11 = 170;
int e2 = 230;
int e22 = 670;
int e3 = 700;
int e33 = 540;
while (window.isOpen()) {// ändere den Fensterinhalt
int pos1 = 100;
int pos2 = 300;
int i = (int) (Math.random() * 3);
if (i == 0 || i == 3) {
window.fillRect(pos1 + e1/2, pos2 + e11/2, 5, 5);
pos1 = e1/2;
pos2 = e11/2;
window.refresh();
} else if (i == 1) {
window.fillRect(pos1 + e2/2, pos2 + e22/2, 5, 5);
pos1 = e2/2;
pos2 = e22/2;
window.refresh();
} else {
window.fillRect(pos1 + e3/2, pos2 + e33/2, 5, 5);
pos1 = e3/2;
pos2 = e33/2;
window.refresh();
}
}
}
}
fillRect는 새 창에서 내 포인트를 그립니다. 이제이 프로그램을 실행하면 창이 닫힐 때까지 "while window.isOpen"을 실행해야하지만 두 점만 나타납니다. 내 수학과 무언가가 있다고 생각해. 랜덤.
직사각형의 좌표를 인쇄합니다. 창 밖에서 그리는 것일 수도 있습니다. –
어떻게 내가 창 밖에서 그림을 그릴 수 있습니까? 위치가 선택되어 모든 것이 그려 져야합니다. – Cherry
'else'에서'fillRect'를보십시오. 그러나 당신이 그것을 고치더라도, 나는 이것이 당신이 임의의 위치에 끌기를 기대하는 이유를 알지 못합니다. –