프로그램은 여러 개의 공백을 인쇄 한 다음 점과 줄 바꾸기를 인쇄해야합니다. 공백의 개수는 0 <x <30으로 정의 된 점의 x 위치입니다.
모든 새로운 라인은 차례입니다. 당신의 프로그램은 30 턴 동안 실행됩니다. 프로그램은 임의의 x 위치에서 시작하며 모든 회전은 정의 된 영역 내에 머무르면서이 위치를 왼쪽 또는 오른쪽으로 1 씩 임의로 이동합니다. 매 턴마다 점의 위치가 1 씩 바뀌어야합니다.
당신의 점수는 문자 수입니다. 모든 인쇄 된 줄이 정확히 30 자 (및 줄 바꿈)로 구성된 경우 10 개의 보너스 포인트가 제공됩니다. 무작위로 프로그램이 정의 된 영역의 중간에 머무르는 경우 50 보너스 포인트를 얻습니다.
편집 : 50 보너스 포인트는 중간에 점을 당기기위한 것입니다. 예를 들어, 점이 x = 20에 있고 왼쪽으로 66 %, 오른쪽으로 33 %의 기회가있는 경우에 적용됩니다. 이것은 시작점과 독립적이어야하며 왼쪽 / 오른쪽의 백분율 값을 동적으로 변경해야만 발생합니다.
어떤 종류의 입력도 허용되지 않습니다. 출력은 실행 콘솔에 있어야합니다!
이해를 돕기 위해 Java로 읽을 수있는 예제가 있습니다. 점수는 723입니다.
public class DotJumper{
public static void main(String[] args){
int i = (int)(Math.random()*30);
int max = 29;
int step = 1;
int count = 30;
while(count>0){
if(i<=1){
i+=step;
}else if(i>=max){
i-=step;
}else{
if(Math.random() > 0.5){
i+=step;
}else{
i-=step;
}
}
print(i);
count--;
}
}
public static void print(int i){
while(i>0){
System.out.print(' ');
i--;
}
System.out.println('.');
}
}







int i = (int)(Math.random()*30);해야 한다고 생각합니다int i = 1 + (int)(Math.random()*29);. 있는 그대로,0 >= x > 30대신 숫자 를 생성합니다0 > x > 30.