Ihr Programm muss eine Reihe von Leerzeichen, gefolgt von einem Punkt und einer neuen Zeile, ausgeben. Die Anzahl der Leerzeichen ist die x-Position Ihres Punktes, definiert mit 0 <x <30
Jede neue Linie ist eine Wende. Ihr Programm läuft 30 Runden. Ihr Programm beginnt mit einer zufälligen x-Position und verschiebt diese Position bei jeder Umdrehung zufällig um 1 nach links oder rechts, während Sie innerhalb des definierten Bereichs bleiben. Bei jeder Runde muss Ihr Punkt seine Position um 1 ändern.
Ihre Punktzahl ist die Anzahl der Zeichen. Sie erhalten 10 Bonuspunkte, wenn jede gedruckte Zeile aus genau 30 Zeichen (und einer neuen Zeile) besteht. Sie erhalten 50 Bonuspunkte, wenn Ihr Programm zufällig dazu neigt, in der Mitte des definierten Bereichs zu bleiben.
Bearbeiten: Die 50 Bonuspunkte sollen Ihren Punkt in die Mitte ziehen. Dies gilt zum Beispiel, wenn Ihr Punkt bei x = 20 liegt und eine Chance von 66% hat, nach links und 33% nach rechts zu gehen. Dies muss vom Startpunkt unabhängig sein und sollte nur durch dynamisches Ändern des Prozentwerts von links / rechts geschehen.
Keine Eingabe jeglicher Art erlaubt, die Ausgabe muss auf der ausführenden Konsole erfolgen!
Zum besseren Verständnis ist hier ein lesbares Beispiel in Java, das eine Punktzahl von 723 ergeben würde:
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);sein sollteint i = 1 + (int)(Math.random()*29);statt. Wie es ist, erzeugt es eine Zahl0 >= x > 30anstelle von0 > x > 30.