私のロボットはどういうわけか短絡し、研究室のどこかからランダムに飛び出しました!
幸いなことに、彼がこれを行うたびにシャットダウンシーケンスが開始され、スイッチを切る前にランダムに5ラウンドにわたって向きを変えて走る十分な時間が与えられます。彼のジャイロと加速度計の機能は、彼がまだ活動している間、データを研究室に送り返しています。
たとえば、データは常に2つの数値の5つのセットの形式で提供されます。
12:234,-135:47,-68:230,140:324,127,87
あなたの使命は、ゴルファーは、a)ロボットがその現在の方位から回転するようにa1:d1,a2:d2,a3:d3,a4:d4,a5:d5、a(n)が時計回りの角度(度)の形式で5セットの数字を表示することにより、ロボットの必死の走りとターンシーケンスをシミュレートすること-179<=a<=+180です最初は、首をかがめて最初に回転する前にヘッディングがゼロになります)、およびd(n)は、次のヘディングが変わる前に実行したフィート単位の距離0<=d<=500です。およびb)ラボから計算された見出し(見出しも0に直面している)、フィート単位の距離(小数点以下3桁までの精度が強く推奨されます、もしあれば-5バイト)、および向きの見出し(度)オフになったときにロボットが向いている場所の
簡単な例:
Data: 0:1,45:1,90:1,90:1,90:1
Heading: 0
Distance: 1
Orientation: -45
ランダムなターンと距離は、ランダムです。設定値をハードコーディングする必要はありません。コード内でランダムな動作を確認する必要があります。
ランダム性の制限:クロックまたは日付ベースの参照はありませんrandom。コード内にネイティブ参照を表示する必要があります。このコードを実行するときはいつでも、ランダム性は、各ターンランラウンドで360の可能な角度のうち1つを示す可能性を提示する必要があります。そのため、ロボットは1回転で-36度回転し、次の回転で+157度回転し、さらに-116度でさらに2度回転し、最後の回転で最後に+42度回転します。ランダムな角度の生成ごとに、少なくとも360の異なる値(-179〜+180度を含む)が可能でなければなりません。
走行距離の制限:同様に設定すると、ロボットが走行できる距離は0〜500フィート(0〜500フィート)であるため、ロボットの走行距離を決定するときにランダム性も利用できると考えています。ロボットは、理論的には、それぞれのラウンドで45、117、364、27、6フィートを実行できます...
あなたに供給されるデータは常に整数値になります...ロボットは度の整数範囲で回転し、距離の整数範囲で実行されます。ただし、出力値は浮動小数点数になります...
これはコードゴルフです。最短のコードが勝ちます...さあ、私のロボットを見つけに行きましょう!
PS:私の「小数点以下3桁までの精度」に関連して、見出し(度で、小数点以下3桁の最小値まで)とフィート単位の距離(小数点以下3桁まで正確)を提供できる場合-5バイトのボーナスが得られます)。
-180 < a <= +180と<...未満、独自の手段サインオンが、私の知る限りは含まない