Twój program musi wydrukować pewną liczbę spacji, a następnie kropkę i nowy wiersz. Liczba spacji to pozycja x kropki zdefiniowana za pomocą 0 <x <30
Każda nowa linia to kolej. Twój program działa przez 30 tur. Twój program zaczyna się od losowej pozycji x i każda kolejka losowo przesuwa tę pozycję o 1 w lewo lub w prawo, pozostając w obrębie określonego obszaru. Za każdym razem twoja kropka musi zmieniać swoją pozycję o 1.
Twój wynik to liczba znaków. Otrzymasz 10 punktów bonusowych, jeśli każda drukowana linia składa się dokładnie z 30 znaków (i nowej linii). Dostajesz 50 punktów bonusowych, jeśli, choć losowo, twój program ma tendencję do pozostawania na środku określonego obszaru.
Edycja: 50 punktów bonusowych ma na celu przyciągnięcie twojej kropki do środka. Na przykład dotyczy to, jeśli twoja kropka wynosi x = 20 i ma szansę 66% na pójście w lewo i 33% na pójście w prawo. Musi to być niezależne od punktu początkowego i powinno się to odbywać jedynie poprzez dynamiczną zmianę wartości procentowej lewej / prawej.
Żadne dane wejściowe nie są dozwolone, dane wyjściowe muszą znajdować się na konsoli wykonawczej!
Dla lepszego zrozumienia, oto czytelny przykład w Javie, który dałby wynik 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);powinno byćint i = 1 + (int)(Math.random()*29);. W obecnej chwili generuje liczbę0 >= x > 30zamiast0 > x > 30.