Mein Roboter ist irgendwie kurzgeschlossen und irgendwo von meinem Labor weggelaufen!
Glücklicherweise beginnt jedes Mal, wenn er dies tut, seine Abschaltsequenz, sodass er genug Zeit hat, sich nach dem Zufallsprinzip zu drehen und fünf Runden lang in die Richtung zu rennen, in die er weist, bevor er abschaltet. Seine Kreisel- und Beschleunigungsmesserfunktionen leiten die Daten immer noch an das Labor weiter, solange er noch eingeschaltet ist.
Die Daten werden beispielsweise immer in Form von fünf Sätzen zu je zwei Zahlen vorliegen.
12:234,-135:47,-68:230,140:324,127,87
Ihre Mission ist Golfer a) simuliert den hektischen Lauf des Roboters und Sequenz dreht durch die Anzeige fünf Sätze von Zahlen in Form von a1:d1,a2:d2,a3:d3,a4:d4,a5:d5wo a(n) ist der Winkel im Uhrzeigersinn (in Grad) , so dass -179<=a<=+180der Roboter von seiner aktuellen Position drehen wird ( anfangs ist es auf null, bevor es amok läuft und sich zum ersten Mal dreht) und d(n) ist die Entfernung in Fuß, die es vor dem nächsten Richtungswechsel zurückgelegt hat, und zwar so, dass die 0<=d<=500Füße; und b) eine berechnete Überschrift aus dem Labor (die ebenfalls einer Überschrift von Null zugewandt ist), eine Entfernung in Fuß (Genauigkeit bis zu 3 Dezimalstellen wird dringend empfohlen, wenn Sie dies tun, -5 Byte) und die Orientierungsüberschrift (in Grad). von wo mein Roboter ist es ausgerichtet, wenn es ausgeschaltet ist.
Einfaches Beispiel:
Data: 0:1,45:1,90:1,90:1,90:1
Heading: 0
Distance: 1
Orientation: -45
Die zufälligen Kurven und Entfernungen sind genau das, zufällig. Es dürfen keine festgelegten Werte fest codiert werden, wir müssen die Zufälligkeit im Code in Aktion sehen.
Einschränkungen der Zufälligkeit: Keine auf der Uhr oder dem Datum basierenden Verweise. Wir benötigen einen systemeigenen randomVerweis im Code. Wann immer Sie diesen Code ausführen, muss die Zufälligkeit die Möglichkeit bieten, 1 von 360 möglichen Drehwinkeln bei jeder Umdrehung anzuzeigen. Der Roboter kann sich also in einer Umdrehung um -36 Grad drehen und in der nächsten um +157 Grad, gefolgt von einer weiteren Umdrehung um +2 Grad um -116 Grad und einer letzten Umdrehung um +42 Grad in der letzten Umdrehung. Bei jeder zufälligen Winkelerzeugung müssen mindestens 360 verschiedene Werte möglich sein (zwischen -179 und +180 Grad einschließlich).
Einschränkungen beim Streckenlauf: Ähnlich eingestellt, gibt es 501 mögliche Strecken, die der Roboter laufen kann (zwischen 0 und 500 Fuß einschließlich). Daher erwarte ich, dass die Zufälligkeit auch bei der Ermittlung der Laufstrecke des Roboters verfügbar ist. Der Roboter könnte theoretisch 45, 117, 364, 27 und 6 Fuß mit jeder seiner jeweiligen Runden laufen ...
Die Ihnen zugeführten Daten sind immer ganzzahlig ... der Roboter dreht sich in ganzzahligen Gradbereichen und läuft in ganzzahligen Entfernungsbereichen. Die Ausgabewerte werden jedoch float sein ...
Das ist Code-Golf. Kürzester Code gewinnt ... Jetzt geh und finde meinen Roboter!
PS: In Bezug auf meine "Genauigkeit bis zu 3 Nachkommastellen" können Sie die Überschrift (in Grad, auf ein Minimum von 3 Nachkommastellen) und einen Abstand in Fuß (auch genau, auch auf ein Minimum von 3 Nachkommastellen) angeben wird ein -5 Byte Bonus bekommen).
-180 < a <= +180als<Zeichen für sich allein verwenden bedeutet weniger als aber ohne AFAIK ...