Turtleクラスの初期化¶
- class Turtle(width, height, canvasID)¶
-
-
Parameters:
-
width – 整数
height – 整数
canvasID – 文字列
-
事前に HTML 上でキャンバスを作成して ID を付与し、キャンバスの幅と高さと共に指定します。
初期化時に指定したサイズにキャンバスがリサイズされます。
let turtle = new Turtle(800, 600, "canvas");
※デモページでは自動で turtle
が定義されています。再定義しないでください。
Turtleのメソッドと対応する関数¶
Turtleの移動¶
- await turtle.forward(distance)¶
-
-
Parameters:
-
distance – 整数
Turtleが向かっている方向に、指定された距離 distance だけTurtleを前進させます。
await turtle.forward(25);
-
- await turtle.backward(distance)¶
-
-
Parameters:
-
distance – 整数
Turtleが向かっている方向とは逆方向に、指定された距離 distance だけTurtleを後方に移動させます。 Turtleの向きは変わりません。
await turtle.backward(30);
-
- await turtle.right(angle)¶
-
-
Parameters:
-
angle – 整数
Turtleを指定された角度 angle だけ右向きに回転させます。
await turtle.right(45);
-
- await turtle.left(angle)¶
-
-
Parameters:
-
angle – 整数
Turtleを指定された角度 angle だけ左向きに回転させます。
await turtle.left(45);
-
- await turtle.goto(x, y)¶
-
-
Parameters:
-
-
x – 整数
-
y – 整数
-
Turtleを座標 (x, y) に移動させます。ペンが下りていれば線を引きます。Turtleの向きは変化しません。
await turtle.goto(60, 30);
-
- await turtle.setx(x)¶
-
-
Parameters:
-
x – 整数
Turtleの第1座標を x にします。第2座標は変化しません。
await turtle.setx(10);
-
- await turtle.sety(y)¶
-
-
Parameters:
-
y – 整数
Turtleの第2座標を y にします。第1座標は変化しません。
await turtle.sety(-10);
-
- await turtle.setheading(to_angle)¶
-
-
Parameters:
-
to_angle – 整数
Turtleの向きを角度 to_angle に設定します。以下はよく使われる方向を角度で表わしたものです:
to_angle
向き
0
右
90
上
180
左
270
下
await turtle.setheading(90);
-
- await turtle.home()¶
-
Turtleを原点 (0, 0) に移動し、方向を開始方向に設定する。
await turtle.home();
- await turtle.circle(radius, extent)¶
-
-
Parameters:
-
-
radius – 整数
-
extent – 整数
-
与えられた半径 radius で円を描きます。 円の中心はTurtleから半径 radius の距離だけ左にあります。 中心角 extent が与えられなければ、デフォルトで完全な円になります。 中心角 extent が完全な円でない場合、円弧の一方の端点は現在のペンの位置になります。 半径 radius が正の場合は反時計回りに、そうでない場合は時計回りに円弧を描きます。 Turtleの方向は extent の分だけ変化します。
await turtle.circle(120, 180);
-
- turtle.dot()¶
-
-
Parameters:
-
-
size – 自然数
-
与えられた直径 size で円形の点を描きます。
turtle.dot(20);
-
- turtle.stamp()¶
-
現在のTurtleの位置にTurtleの形状のコピーをつくります。
turtle.stamp();
- turtle.speed(speed)¶
-
-
Parameters:
-
speed – 整数(0~10)
Turtleの速度を0〜10の範囲の整数値に設定します。
以下に速度の対応表を示します:
speed
速さ
0
最速
10
高速
6
標準
3
低速
1
超低速
speed が1~10のときには、数値が大きくなるほど線の描画やTurtleの回転アニメーションが速くなります。
アニメーションの速度は絶対的なものではなく、デバイスの処理速度に応じて変化します。
※ speed = 0 はアニメーションが行われないことを意味します。
forward()
/backward()
はTurtleをジャンプさせ、 同様にleft()
/right()
はTurtleを瞬時に回転させます。turtle.speed(8);
-
Penの制御¶
- turtle.pendown()¶
-
ペンを「描画モード」に切り替えます。Turtleが移動するとその軌跡に沿って線が描かれます。
- turtle.penup()¶
-
ペンを「非描画モード」に切り替えます。Turtleが移動しても線が描かれなくなります。
- turtle.pensize(width)¶
-
-
Parameters:
-
width – 自然数
線の太さを width にします。
turtle.pensize(10);
-
- turtle.pencolor(*args)¶
-
ペンの色を設定します
3種類の入力形式が受け入れ可能です:
pencolor(colorstring)
-
ペンの色を colorstring に設定します、その値は
"yellow"
や"#33cc8c"
のような色指定文字列です。 pencolor((r, g, b))
-
ペンの色を r, g, b のタプルで表された RGB の色に設定します。
pencolor(r, g, b)
-
ペンの色を r, g, b で表された RGB の色に設定します。
Turtleの輪郭は新しく設定されたペンの色で描かれます。
turtle.pencolor("brown"); turtle.pencolor((0.2, 0.8, 0.55)); turtle.pencolor('#32c18f');
- turtle.fillcolor(*args)¶
-
塗りつぶしの色を設定します
3種類の入力形式が受け入れ可能です:
fillcolor(colorstring)
-
塗りつぶしの色を colorstring に設定します、その値は
"yellow"
や"#33cc8c"
のような色指定文字列です。 fillcolor((r, g, b))
-
塗りつぶしの色を r, g, b のタプルで表された RGB の色に設定します。
fillcolor(r, g, b)
-
塗りつぶしの色を r, g, b で表された RGB の色に設定します。
Turtleの内部は新しく設定された塗りつぶしの色で描かれます。
turtle.fillcolor("violet"); turtle.fillcolor((50, 193, 143)); turtle.fillcolor('#ffffff');
- turtle.color(*args)¶
-
ペンの色と塗りつぶしの色を設定します
3種類の入力形式が受け入れ可能です:
以下のように1~3の引数を使用したいくつかの入力フォーマットが認められています:
color(colorstring)
,color((r,g,b))
,color(r,g,b)
-
pencolor()
と同様に入力し、fillcolor と pencolorの両方を指定された値に設定します。 color(colorstring1, colorstring2)
,color((r1,g1,b1), (r2,g2,b2))
-
pencolor(colorstring1)
およびfillcolor(colorstring2)
と等価であり、 他の入力フォーマットが使われる場合も同様です。
Turtleの輪郭と内部が、新しく設定された色で描かれます。
turtle.color("red", "green"); turtle.color("#285078", "#a0c8f0");
- turtle.bgcolor(*args)¶
-
キャンバスの背景色を設定します
3種類の入力形式が受け入れ可能です:
bgcolor(colorstring)
-
キャンバスの背景色を colorstring に設定します、その値は
"yellow"
や"#33cc8c"
のような色指定文字列です。 bgcolor((r, g, b))
-
キャンバスの背景色を r, g, b のタプルで表された RGB の色に設定します。
bgcolor(r, g, b)
-
キャンバスの背景色を r, g, b で表された RGB の色に設定します。
turtle.bgcolor("yellow");
- turtle.begin_fill()¶
-
塗りつぶされる図形を描画する直前に呼び出します。
- turtle.end_fill()¶
-
begin_fill()
を呼び出した後に描画された図形を塗りつぶします。turtle.color("black", "red"); turtle.begin_fill(); await turtle.circle(80); turtle.end_fill();
Turtleの状態¶
- turtle.hideturtle()¶
-
Turtleを画面上から非表示にします。
Turtleを隠すことで描画速度が向上するため、特に複雑な図形を描いている際に活用するのがおすすめです。
turtle.hideturtle();
- turtle.showturtle()¶
-
Turtleを表示します。
turtle.showturtle();
- turtle.turtlesize(stretch)¶
-
-
Parameters:
-
-
stretch – 自然数
-
Turtleの大きさを設定します。
turtle.turtlesize(10);
-
特別なTurtleのメソッド¶
- await turtle.undo()¶
-
最後に行われたTurtleの操作を取り消します。
await turtle.forward(50); await turtle.undo();
- turtle.reset()¶
-
画面からTurtleの描画を削除し、Turtleの中心を合わせ直し、Turtleに関する変数をデフォルト値に設定します。
turtle.reset();
- await turtle.sleep(secs)¶
-
-
Parameters:
-
-
secs – 正の数(小数または整数)
-
secs 秒の間、呼び出し元のスレッドの実行を一時停止します。
※ システム内の他のアクティビティとのスケジューリングのため、中断時間は要求された時間よりも長くなる可能性があります。
await turtle.sleep(3.0);
-