ほとんどの人はおそらく、当初Logoによって人気を得た有名なTurtle Graphicsプログラムについて聞いたことがあるでしょう。この課題は、選択した言語でTurtle Graphicsプログラムを実装することです。
ルール:
床は対角線でなければならず、ユーザーがstd-inを介してフォーム
x/y
に入力した寸法は、x
とy
長さをそれぞれ表します。x
20y
以下、45以下である可能性があります。ペンがダウン状態の場合、タートルが出る四角形(x / y座標)とタートルが入る四角形の両方を描画する必要があります。これが実際の生活で起こることなので、それがあなたのプログラムがすべきことです。
カメの初期位置及び方向は、フォームにユーザによって入力されなければならない
x,y,d
場合、x
およびy
x軸とy軸上の位置であり、それぞれ、及びd
方向、として入力されU
、D
、R
、またはL
(上下、右、左)。カメが壁にぶつかった場合は、カメを停止してエラーメッセージを表示する必要があります。つまり、カメは壁を歩くことができません。
カメはこれらのコマンドを含まなければなりません:
RESET-ボードを空白にリセットします-カメは最初の位置と方向に戻ります。
DRAWとERASE-これらのコマンドは、タートルをそれぞれ描画と消去に設定します。
UPおよびDOWN-これらの2つのコマンドは、アクティブなツール(ペンまたは消しゴム)の位置をそれぞれ上および下に設定します。
DIRECTION x-このコマンドは、亀を北、北東、東、南東、南、南西、西、または北西の任意の方向に向けます。数字1〜8で表され、北(上)が1、北東が2 ...
FORWARD xx-タートルxxの正方形を前進させます。FORWARD 15は、タートルを15マス前進させます。カメがWのN、E、S、に面している場合、
x
その方向にのみ正方形で描画されます。タートルがNE、NW、SE、またはSWに面している場合はx
、両方向に正方形で描画されます。つまり、NEに面しているFORWARD 1では、次のように描画されます。X X
DISPLAY-
X
塗りつぶされた四角(x / y座標)に使用するボードを表示し、空の四角に空白スペースを表示します。
POSITION-カメのx / y座標をボードに印刷します。
SETPOS xyd-
d
DIRECTIONコマンドと同じ表記法を使用して、タートルをx / y座標方向に設定します。STOP-ボードを表示し、ユーザーが文字を入力した後にプログラムを終了します
~
。
コマンドの例:
方向2フォワード1方向4フォワード1:
X X X
方向2フォワード1方向4フォワード4:
X X X X X
方向3フォワード5:
XXXXX
このプログラムは、標準のアトミックコードゴルフスコアリングルールを使用して、JavaやC ++などの非難解なプログラミング言語が競合できるようにします。
バージョン1はこちらです。ボードのサイズとカメの始点をユーザーが入力する必要はなく、斜めに動かす必要もありませんでした。