タートル グラフィック ス。 プログラミング講座(67) タートルグラフィックス: たかはしのんき年月記

Pythonでもタートルグラフィックス

タートル グラフィック ス

タートルマニアックス 〜ゲームをしながらプログラミングを学ぼう!(プログラミング体験ゲーム)〜 タートルマニアックス 〜ゲームをしながらプログラミングを学ぼう!〜 タートルグラフィックスを使ったプログラミング体験ゲームです。 楽しみながら、プログラミング言語の順次操作とループ、再帰、条件分岐が学べます。 中学生や高校生の学習・教育用としても是非ご利用ください。 2 「実行する」ボタンをクリックして実行させます。 3 描画される絵を楽しんでください。 亀はゴールを目指せ! 1 ゴールをセットします。 3通りの方法があります。 1-1 「出題」を押すと用意された問題が順に表示されます。 1-2 「乱数で出題」を押すとゴールがランダムにセットされます 複数可。 1-3 盤面を直接クリックするとゴールがセットされます 複数可。 2 コードのボタンをクリックしてプログラムリストに加えます。 3 「実行する」ボタンをクリックして実行させます。 4 ゴールをすべて通過すれば勝利です。 デモの遊び方 1 「デモ」をクリックします。 続けてクリックすると次のデモになります。 2 「実行する」ボタンをクリックして実行させます。 前へは移動しません。 前へは移動しません。 2 ループ開始 この次のコードからループ終了までを2回実行します。 3 ループ開始 この次のコードからループ終了までを3回実行します。 ループ終了 ループ開始の次のコードからループ終了までを繰り返し実行します。 そうでないときは何もしません。 ? ランダム向き 亀はランダムに方向を変えます。 反転することもあります。 デモ 用意されたデモが表示されます。 さらにクリックすると次のデモが表示されます。 出題 用意された問題が出題されます。 さらにクリックすると次の問題が出題されます。 乱数で出題 盤面にゴールをランダムにセットします。 複数置くことも可能です。 盤面を直接クリック 盤面を直接クリックしてゴールをセットします。 複数置くことも可能です。 一つ削除する プログラムリストの最後尾のコードを削除します。 画面クリア ゲームを初期状態に戻します。 実行する プログラムリストのコードを実行します。 プログラムリストの最後まで来れば、最初に戻ります(無限ループ)。 亀が歩く残り回数は盤面左下に表示されています。 壁に当たれば方向転換します。 青色のセル 亀が上を向いていることを示しています。 水色のセル 亀が右を向いていることを示しています。 緑色のセル 亀が下を向いていることを示しています。 桃色のセル 亀が左を向いていることを示しています。 ゴールを全部通過 ゴールを全部通過すると勝利になります。 メッセージウィンドウに表示されます。 ゲーム中のみ有効。 実行例 斜めDNA 十字 DNA螺旋 斜め45度 卍 大きな菱形 田 大十字 隅4 Android版タートルマニアックス も公開しています。 このゲームは、にヒントを得て作成しました。 アルゴロジックに感謝します。 アルゴロジックにはないがこのゲームではサポートしている点• 問題を自分で作れます 編集モード :ゴールの設定が自動または手動で設定できます。 盤面が大きい: 41x41の大きなサイズ• 壁を利用できます(壁で反転します)• コードは無限ループします(デフォルト無限ループ)• アルゴロジックにないコードがあります:ランダム向き(ランダムに向きが変わるコード)• デモを用意しました アルゴロジックにあるがサポートしない点• コードを限定しています。 参考 アルゴロジックと共通のコード:1歩前、左回転、右回転、2回ループ、3回ループ• 使えるコードの個数を制限していません。 コードの並列実行をサポートしていません。 今後のサポート予定• グラフィック化(盤面、コードなど)• 問題の豊富化• デモの豊富化 更新記録• 上記にメールをいただければ、送付致します。

次の

株式会社タートルGraphics|東京都新宿区の会社|日本営業協会

タートル グラフィック ス

日本語プログラミング言語「なでしこ」 日本語でプログラミングできる「なでしこ」を使って、プログラミングを身につけましょう。 プログラミングができれば、いろいろな仕事を自動化することができます。 今回は、カメを使って、画面に絵を描くタートルグラフィックスを紹介します。 日本語プログラミング言語について語り合った 先日のことですが、 横浜在住の発明家、岡部大陸さんとお会いする機会がありました。 岡部さんは、ヒューマンインターフェイスに係る文字入力などユニークな発明の特許をいくつも持っておられます。 御年77歳の大先輩なのですが、日々、さまざまなアイデアを考案しさまざまな発明をされています。 そんな、岡部さんと、母国語でプログラミングできることのメリットについて語り合うことができました。 岡部さんは「私たちは、日本語を読み書きし、日本語で考えています。 母語が日本語であるなら、自然と日本語で物事を考えています。 そうであるなら、プログラミングをする時も、日本語で考えることができれば、思考を妨げることなく、老若男女を問わずにプログラムを作ることができるはずです。 また、日本人にノーベル賞受賞者がたくさん居ることも考えると、日本語というのは、見立て(類推)を利用して、論理的思考空間の中に仮想の物事を組み立てるのに適した言語であると言うことができます。 ぜひ、日本の子供たちのために日本語プログラミング言語の普及発展を頑張ってもらいたいです。 」と、暖かく励ましていただきました。 日本語プログラミング言語「なでしこ」を開発して、もう10年以上が経ちます。 確かに、日本語プログラミング言語を実践することで、英語ベースの言語よりも、素早くプログラムを作れる場面も多いです。 そのため、母国語でプログラムが読み書きできることのメリットというのは大きいと感じます。 引き続き、使いやすい日本語プログラミング言語の開発を頑張ろうと思ったのでした。 タートルグラフィックスで遊んでみよう さて、今回、紹介するのは「タートルグラフィックス」です。 これは、ペンを持ったカメを動かしてお絵かきをするという機能です。 先に種明かしすると、これは、便利とか、覚えると役に立つとか、そういう類いの機能ではなく、楽しんでプログラミングを覚えるための面白い機能です。 もともとは、LOGOというプログラミング言語に備わっていた機能で、コンピューターを利用して、子供たちに思考能力の訓練を目的として作成されました。 ですから、なでしこでプログラミングを学習するのにぴったりの機能なんです。 タートルグラフィックスでは、画面上に、表示されるカメに対して、どのように動かすかをプログラミングします。 そして、カメを動かすことで、カメの通った箇所に線が引かれます。 タートルグラフィックスで複雑な図形を描画することができて面白いです タートルグラフィックスで遊ぼう タートルグラフィックスを試すには、以下のURL にアクセスして、プログラムを入力したら、[実行]ボタンを押してください。 PCのほか、スマホやタブレットでも実行して遊ぶことができます。 それでは、なでしこでタートルグラフィックスを利用する方法を紹介します。 まず、タートルグラフィックスを使うためには、プログラムの先頭に「カメ作成」と一言書いておきます。 これによって、エディタのすぐ下にあるエディタにカメが表示されます。 そして、カメを動かすには、基本的に以下の三つの命令を覚えるだけで十分でしょう。 ・「Nだけカメ進む」・・・カメをNピクセルだけ前に進める ・「Aだけカメ右回転」・・・カメの進行方向をA度だけ右に回転 ・「Aだけカメ左回転」・・・カメの進行方向をA度だけ左に回転 簡単なプログラムで動作を確認してみましょう。 先ほど紹介した「なでしこ3簡易エディタ」にアクセスし、以下のプログラムを記述し、[実行]ボタンを押します。 カメ作成。 150だけカメ進む。 90だけカメ右回転。 50だけカメ進む。 90だけカメ右回転。 150だけカメ進む。 すると、カメが動いて、以下のような逆U字の図形を描画します。 カメを動かしてみたところ プログラムを確認してみましょう。 カメを作成した後で、カメをまっすぐ150ピクセル進ませます。 そして、カメの進行方向を90度右方向へ回転させて、さらに、50ピクセル進ませ、90度回転し、150ピクセル進みます。 このようにして、逆U字の図形を描画することができます。 難しくありませんね。 このように、カメを動かす命令を、ひたすら並べるだけで、いろいろな図形を描画できます。 以下は、正方形を描画するプログラムです。 カメ作成 150だけカメ進む。 90だけカメ右回転。 150だけカメ進む。 90だけカメ右回転。 150だけカメ進む。 90だけカメ右回転。 150だけカメ進む。 90だけカメ右回転。 同じように、エディタにプログラムを記述して「実行」ボタンを押すと、カメが動いて正方形を描画します。 カメが動いて正方形を描画します 同じ処理を何回も繰り返す方法 ところで、プログラミング言語の面白いところですが、自分で命令を何度もべた書きしなくても、好きなだけ処理を繰り返し実行させる構文が用意されています。 なでしこで、指定回数だけ処理を繰り返すには、「 数値 回・・・ここまで」構文を使います。 例えば、カメを進めて、90度右回転するという動作を4回繰り返せば、先ほど作成したプログラムと同じ正方形の図形を描画できます。 以下が、「 数値 回・・・ここまで」構文を使って正方形を描画するプログラムです。 カメ作成。 4回 150だけカメ進む。 90だけカメ右回転。 ここまで 先ほどのプログラムと比較してみると、かなり、すっきりした印象ではないでしょうか。 これを応用すれば、八角形の図形も簡単に描画できます。 以下は、八角形の図形を描画する例です。 カメ作成。 8回 60だけカメ進む。 ここまで。 先ほどの四角形であれば、360度を4で割った値なので、90度を指定しました。 それでは、36角形を描くにはどうしたらよいでしょうか?・・・そうですね。 それでは、36角形を描画してみましょう。 また、せっかくですから、値の指定に変数を利用してプログラムを作ってみましょう。 N 回 12だけカメ進む。 Aだけカメ右回転。 ここまで プログラムを実行すると、カメがゆっくり動いて、以下のような図形が描かれます。 このサイズの36角形はほぼ円のように見えますね。 36角形を描いたところ このプログラムでは、変数を利用して、角度の計算式を作り、回転角を計算しています。 そのため、プログラム2行目にある変数Nの値を変えることで、任意のN角形を描画することができます。 Nを適当な値に書き換えてみて、実行すると面白いでしょう。 今回のまとめ 今回は、タートルグラフィックスについて紹介しました。 カメを操作して、図形を描くというのは、とても楽しいものです。 今回は、基本的な使い方と、「 N 回・・・ここまで」構文について紹介しました。 次回は、より高度な制御構文と組み合わせて、さらに複雑な図形を描画する方法を紹介します。 お楽しみに。 自由型プログラマー。 にて、プログラミングの楽しさを伝える活動をしている。 代表作に、日本語プログラミング言語「」 、テキスト音楽「」など。 2001年オンラインソフト大賞入賞、2005年IPAスーパークリエイター認定、2010年 OSS貢献者章受賞。 技術書も多く執筆している。 予めご了承ください。 連載一覧 第5回 第4回 第3回 第2回 第1回.

次の

turtle

タートル グラフィック ス

はじめに Turtle graphics is a popular way for introducing programming to kids. It was part of the original Logo programming language developed by Wally Feurzeig, Seymour Papert and Cynthia Solomon in 1967. x-y 平面の 0, 0 から動き出すロボット亀を想像してみて下さい。 turtle. forward 15 という命令を出すと、その亀が スクリーン上で! 15 ピクセル分顔を向けている方向に動き、動きに沿って線を引きます。 turtle. left 25 という命令を出すと、今度はその場で25度反時計回りに回ります。 モジュールは同じ名前を持った Python 2. 5 までのモジュールの拡張された再実装です。 すなわち、まず第一に、学習中のプログラマがモジュールを -n スイッチを付けて走らせている IDLE の中から全てのコマンド、クラス、メソッドを対話的に使えるようにしました。 turtle モジュールはオブジェクト指向と手続き指向の両方の方法でタートルグラフィックス・プリミティブを提供します。 グラフィックスの基礎として を使っているために、Tk をサポートした Python のバージョンが必要です。 クラスはタートルが絵を描きながら走り回る画面を定義します。 そのコンストラクタには tkinter. Canvas または を渡す必要があります。 をアプリケーションの一部として用いたい場合にはこれを使うべきです。 関数は のサブクラスのシングルトンオブジェクトを返します。 をグラフィクスを使う一つの独立したツールとして使う場合には、この関数を呼び出すべきです。 シングルトンなので、そのクラスからの継承はできません。 別名: は 上に絵を描く Turtle オブジェクトを定義します。 コンストラクタには Canvas, ScrolledCanvas, TurtleScreen のいずれかを引数として渡して RawTurtle オブジェクトがどこに絵を描くかを教えます。 RawTurtle の派生はサブクラス 別名: Pen で、 既に与えられているのでなければ自動的に作られた "唯一の" インスタンスに絵を描きます。 手続き型インターフェイスでは および クラスのメソッドを元にした関数を提供しています。 その名前は対応するメソッドと一緒です。 Screen のメソッドを元にした関数が呼び出されるといつでも screen オブジェクトが自動的に作られます。 Turtle のメソッドを元にした関数が呼び出されるといつでも 名無しの turtle オブジェクトが自動的に作られます。 複数のタートルを一つのスクリーン上で使いたい場合、オブジェクト指向インターフェイスを使わなければなりません。 position 0. 00,0. position 25. 00,0. position -50. 00,0. 00 turtle. back distance turtle. bk distance turtle. backward distance パラメータ distance -- 数 タートルが頭を向けている方と反対方向へ、タートルを距離 distance だけ後退させます。 タートルの向きは変えません。 heading 22. heading 67. 0 turtle. y -- 数または None y が None の場合、 x は座標のペアかまたは たとえば で返されます でなければなりません。 タートルを指定された絶対位置に移動します。 ペンが下りていれば線を引きます。 タートルの向きは変わりません。 position 0. 00,40. position 0. 00,-10. 00 turtle. heading 90. position 0. 00,-10. position 0. 00,0. heading 0. 0 turtle. radius -- 数• extent -- 数 または None• steps -- 整数 または None 半径 radius の円を描きます。 中心はタートルの左 radius ユニットの点です。 extent -- 角度です -- は円のどの部分を描くかを決定します。 extent が与えられなければ、デフォルトで完全な円になります。 extent が完全な円でない場合は、弧の一つの端点は、現在のペンの位置です。 radius が正の場合、弧は反時計回りに描かれます。 そうでなければ、時計回りです。 最後にタートルの向きが extent 分だけ変わります。 円は内接する正多角形で近似されます。 steps でそのために使うステップ数を決定します。 この値は与えられなければ自動的に計算されます。 また、これを正多角形の描画に利用することもできます。 position 0. 00,0. heading 0. position -0. 00,0. heading 0. position 0. 00,240. heading 180. 0 turtle. size -- 1 以上の整数 与えられる場合には• color -- 色を表わす文字列またはタプル 直径 size の丸い点を color で指定された色で描きます。 fd 50 ; turtle. dot 20 , "blue" ; turtle. position 100. 00,-0. heading 0. 0 turtle. stamp キャンバス上の現在タートルがいる位置にタートルの姿のハンコを押します。 position 150. 00,-0. position 200. 00,-0. position 200. 00,-0. 00 turtle. n が None の場合、全てのハンコを消します。 n が正の場合には最初の n 個、 n が負の場合には最後の n 個を消します。 turtle. fd 50 ; turtle. lt 80... turtle. undo turtle. 引数が与えられない場合は現在のスピードを返します。 与えられた数字が 10 より大きかったり 0. 5 より小さかったりした場合は、スピードは 0 になります。 スピードを表わす文字列は次のように数字に変換されます:• "fastest": 0• "fast": 10• "normal": 6• "slow": 3• "slowest": 1 1 から 10 までのスピードを上げていくにつれて線を描いたりタートルが回ったりするアニメーションがだんだん速くなります。 heading 90. degrees 400. heading 100. heading 90. 0 turtle. radians 角度を計る単位をラジアンにします。 pi と同じ意味です。 描画状態 turtle. pendown turtle. pd turtle. down ペンを下ろします -- 動くと線が引かれます。 turtle. penup turtle. pu turtle. up ペンを上げます -- 動いても線は引かれません。 turtle. resizemode が "auto" でタートルの形が多角形の場合、その多角形も同じ太さで描画されます。 引数が渡されなければ、現在の pensize が返されます。 pensize 10 from here on lines of width 10 are drawn turtle. pen -- 以下にリストされたキーをもった辞書• "pencolor": 色文字列または色タプル• "fillcolor": 色文字列または色タプル• "pensize": 正の数• "speed": 0 から 10 までの整数• "resizemode": "auto" または "user" または "noresize"• "stretchfactor": 正の数, 正の数• "outline": 正の数• "tilt": 数 この辞書を以降の 呼出しに渡して以前のペンの状態に復旧することができます。 さらに一つ以上の属性をキーワード引数として渡すこともできます。 一つの文で幾つものペンの属性を設定するのに使えます。 pen. items [ 'fillcolor', 'black' , 'outline', 1 , 'pencolor', 'red' , 'pendown', True , 'pensize', 10 , 'resizemode', 'noresize' , 'shearfactor', 0. 0 , 'shown', True , 'speed', 9 , 'stretchfactor', 1. 0, 1. 0 , 'tilt', 0. pen. pen. items [: 3 ] [ 'fillcolor', 'green' , 'outline', 1 , 'pencolor', 'red' ] turtle. isdown もしペンが下りていれば True を、上がっていれば False を返します。 色の制御 turtle. 4種類の入力形式が受け入れ可能です: pencolor 現在のペンの色を色指定文字列またはタプルで返します 例を見て下さい。 pencolor colorstring ペンの色を colorstring に設定します。 その値は Tk の色指定文字列で、 "red", "yellow", " 33cc8c" のような文字列です。 pencolor r, g, b ペンの色を r, g, b のタプルで表された RGB の色に設定します。 各 r, g, b は 0 から colormode の間の値でなければなりません。 ここで colormode は 1. 0 か 255 のどちらかです を参照。 2, 0. 8, 0. pencolor 0. 2, 0. 8, 0. pencolor 51. 0, 204. 0, 140. pencolor 50. 0, 193. 0, 143. 0 turtle. 4種類の入力形式が受け入れ可能です: fillcolor 現在の塗りつぶしの色を色指定文字列またはタプルで返します 例を見て下さい。 fillcolor colorstring 塗りつぶしの色を colorstring に設定します。 その値は Tk の色指定文字列で、 "red", "yellow", " 33cc8c" のような文字列です。 fillcolor r, g, b 塗りつぶしの色を r, g, b のタプルで表された RGB の色に設定します。 各 r, g, b は 0 から colormode の間の値でなければなりません。 ここで colormode は 1. 0 か 255 のどちらかです を参照。 pencolor 50. 0, 193. 0, 143. fillcolor 50. 0, 193. 0, 143. fillcolor 255. 0, 255. 0, 255. 0 turtle. いくつかの入力形式が受け入れ可能です。 形式ごとに 0 から 3 個の引数を以下のように使います: color 現在のペンの色と塗りつぶしの色を および で返される色指定文字列またはタプルのペアで返します。 color colorstring , color r,g,b , color r,g,b の入力と同じですが、塗りつぶしの色とペンの色、両方を与えられた値に設定します。 filling :... turtle. pensize 5... else:... turtle. pensize 3 turtle. turtle. Whether or not overlap regions for self-intersecting polygons or multiple shapes are filled depends on the operating system graphics, type of overlap, and number of overlaps. For example, the Turtle star above may be either all yellow or have some white regions. position 0. 00,-22. heading 100. position 0. 00,0. heading 0. 0 turtle. clear タートルの描いたものをスクリーンから消します。 タートルは動かしません。 タートルの状態と位置、それに他のタートルたちの描いたものは影響を受けません。 turtle. arg -- TurtleScreen に書かれるオブジェクト• align -- 文字列 "left", "center", right" のどれか• font -- 三つ組み fontname, fontsize, fonttype 文字を書きます— arg の文字列表現を、現在のタートルの位置に、 align "left", "center", right" のどれか に従って、 与えられたフォントで。 もし move が真ならば、ペンは書いた文の右下隅に移動します。 デフォルトでは、 move は False です。 shape 'turtle' turtle. もし rmode が与えられなければ、現在のサイズ変更モードを返します。 それぞれのサイズ変更モードは以下の効果を持ちます:• "auto": ペンのサイズに対応してタートルの見た目を調整します。 "user": 伸長係数 stretchfactor およびアウトライン幅 outlinewidth の値に対応してタートルの見た目を調整します。 これらの値は で設定します。 "noresize": タートルの見た目を調整しません。 resizemode "user" は に引数を渡したときに呼び出されます。 resizemode 'auto' turtle. サイズ変更のモードは "user" に設定されます。 サイズ変更のモードが "user" に設定されたときかつそのときに限り、タートルは伸長係数 stretchfactor に従って伸長されて表示されます。 shapesize 1. 0, 1. shapesize 5, 5, 8 turtle. Shear the turtleshape according to the given shearfactor shear, which is the tangent of the shear angle. Do not change the turtle's heading direction of movement. If shear is not given: return the current shearfactor, i. the tangent of the shear angle, by which lines parallel to the heading of the turtle are sheared. fd 50 turtle. settiltangle angle パラメータ angle -- 数 タートルの形 turtleshape を現在の傾斜角に関わらず、指定された角度 angle の向きに回転します。 タートルの進む方向は 変わりません。 バージョン 3. 1 で非推奨. turtle. If angle is given, rotate the turtleshape to point in the direction specified by angle, regardless of its current tilt-angle. Do not change the turtle's heading direction of movement. If angle is not given: return the current tilt-angle, i. the angle between the orientation of the turtleshape and the heading of the turtle its direction of movement. tiltangle 45. 0 turtle. t11 -- a number optional• t12 -- a number optional• t21 -- a number optional• t12 -- a number optional Set or return the current transformation matrix of the turtle shape. If none of the matrix elements are given, return the transformation matrix as a tuple of 4 elements. Otherwise set the given elements and transform the turtleshape according to the matrix consisting of first row t11, t12 and second row t21, 22. Modify stretchfactor, shearfactor and tiltangle according to the given matrix. shearfactor - 0. shapetransform 4. 0, -1. 0, -0. 0, 2. 0 turtle. This can be used to define a new shape or components of a compound shape. イベントを利用する turtle. fun -- 2引数の関数でキャンバスのクリックされた点の座標を引数として呼び出されるものです• btn -- マウスボタンの番号、デフォルトは 1 左マウスボタン• add -- True または False -- True ならば、 新しい束縛が追加されますが、そうでなければ、 以前の束縛を置き換えます。 fun をタートルのマウスクリック mouse-click イベントに束縛します。 fun が None ならば、既存の束縛が取り除かれます。 left 180... fun -- 2引数の関数でキャンバスのクリックされた点の座標を引数として呼び出されるものです• btn -- マウスボタンの番号、デフォルトは 1 左マウスボタン• add -- True または False -- True ならば、 新しい束縛が追加されますが、そうでなければ、 以前の束縛を置き換えます。 fun をタートルのマウスボタンリリース mouse-button-release イベントに束縛します。 fun が None ならば、既存の束縛が取り除かれます。 def glow self , x , y :... self. fillcolor "red"... def unglow self , x , y :... self. fillcolor ""... onclick turtle. onrelease turtle. unglow releasing turns it to transparent. turtle. fun -- 2引数の関数でキャンバスのクリックされた点の座標を引数として呼び出されるものです• btn -- マウスボタンの番号、デフォルトは 1 左マウスボタン• add -- True または False -- True ならば、 新しい束縛が追加されますが、そうでなければ、 以前の束縛を置き換えます。 fun をタートルのマウスムーブ mouse-move イベントに束縛します。 fun が None ならば、既存の束縛が取り除かれます。 注意: 全てのマウスムーブイベントのシーケンスに先立ってマウスクリックイベントが起こります。 clone 位置、向きその他のプロパティがそっくり同じタートルのクローンを作って返します。 bgcolor 128. 0, 0. 0, 128. 0 turtle. picname がファイル名ならば、その画像を背景に設定します。 picname が "nopic" ならば、 もしあれば 背景画像を削除します。 picname が None ならば、現在の背景画像のファイル名を返します。 注釈 この TurtleScreen メソッドはグローバル関数としては resetscreen という名前でだけ使えます。 グローバル関数 reset は Turtle メソッドの reset から派生した別ものです。 turtle. canvwidth -- 正の整数でピクセル単位の新しいキャンバス幅 canvaswidth• canvheight -- 正の整数でピクセル単位の新しいキャンバス高さ canvasheight• bg -- 色文字列または色タプルで新しい背景色 引数が渡されなければ、現在の キャンバス幅, キャンバス高さ を返します。 そうでなければタートルが描画するキャンバスのサイズを変更します。 描画ウィンドウには影響しません。 キャンバスの隠れた部分を見るためにはスクロールバーを使って下さい。 このメソッドを使うと、以前はキャンバスの外にあったそうした図形の一部を見えるようにすることができます。 screensize 2000, 1500 逃げ出してしまったタートルを探すためとかね ;- turtle. setworldcoordinates llx, lly, urx, ury パラメータ• llx -- 数でキャンバスの左下隅の x-座標• lly -- 数でキャンバスの左下隅の y-座標• urx -- 数でキャンバスの右上隅の x-座標• ury -- 数でキャンバスの右上隅の y-座標 ユーザー定義座標系を準備し必要ならばモードを "world" に切り替えます。 この動作は screen. reset を伴います。 すでに "world" モードになっていた場合、全ての図形は新しい座標に従って再描画されます。 重要なお知らせ: ユーザー定義座標系では角度が歪むかもしれません。 delay 5 turtle. n -- 非負整数• If n is given, only each n-th regular screen update is really performed. Can be used to accelerate the drawing of complex graphics. When called without arguments, returns the currently stored value of n. Second argument sets delay value see. スクリーンイベントを利用する turtle. ダミー引数は を onclick メソッドに渡せるようにするためのものです。 turtle. onkey fun, key turtle. onkeyrelease fun, key パラメータ• fun -- 引数なしの関数または None• key -- 文字列: キー 例 "a" またはキー・シンボル 例 "space" fun を指定されたキーのキーリリース key-release イベントに束縛します。 fun が None ならばイベント束縛は除かれます。 注意: キー・イベントを登録できるようにするためには TurtleScreen はフォーカスを持っていないとなりません を参照。 fd 50... lt 60... listen turtle. fun -- 引数なしの関数または None• key -- 文字列: キー 例 "a" またはキー・シンボル 例 "space" Bind fun to key-press event of key if key is given, or to any key-press-event if no key is given. Remark: in order to be able to register key-events, TurtleScreen must have focus. See method. fd 50... listen turtle. fun -- 2引数の関数でキャンバスのクリックされた点の座標を引数として呼び出されるものです• btn -- マウスボタンの番号、デフォルトは 1 左マウスボタン• add -- True または False -- True ならば、 新しい束縛が追加されますが、そうでなければ、 以前の束縛を置き換えます。 fun をタートルのマウスクリック mouse-click イベントに束縛します。 fun が None ならば、既存の束縛が取り除かれます。 if running :... fd 50... lt 60... screen. mainloop turtle. done Starts event loop - calling Tkinter's mainloop function. Must be the last statement in a turtle graphics program. Must not be used if a script is run from within IDLE in -n mode No subprocess - for interactive use of turtle graphics. Input methods turtle. textinput title, prompt パラメータ• title -- string• prompt -- string Pop up a dialog window for input of a string. Parameter title is the title of the dialog window, prompt is a text mostly describing what information to input. Return the string input. If the dialog is canceled, return None. textinput "NIM" , "Name of first player:" turtle. title -- string• prompt -- string• default -- number optional• minval -- number optional• maxval -- number optional Pop up a dialog window for input of a number. title is the title of the dialog window, prompt is a text mostly describing what numerical information to input. default: default value, minval: minimum value for input, maxval: maximum value for input The number input must be in the range minval.. maxval if these are given. If not, a hint is issued and the dialog remains open for correction. Return the number input. If the dialog is canceled, return None. 設定と特殊なメソッド turtle. モードが渡されなければ現在のモードが返されます。 モード "standard" は古い 互換です。 モード "logo" は Logo タートルグラフィックスとほぼ互換です。 モード "world" はユーザーの定義した「世界座標 world coordinates 」を使います。 pencolor 240 , 160 , 80 Traceback most recent call last :... colormode 1. pencolor 240 , 160 , 80 turtle. getcanvas この TurtleScreen の Canvas を返します。 Tkinter の Canvas を使って何をするか知っている人には有用です。 Screen 独自のメソッド、TurtleScreen から継承したもの以外 turtle. bye タートルグラフィックス turtlegraphics のウィンドウを閉じます。 turtle. exitonclick スクリーン上のマウスクリックに bye メソッドを束縛します。 注意: もし IDLE が -n スイッチ サブプロセスなし 付きで使われているときは、この値は turtle. cfg の中で True とされているべきです。 この場合、IDLE のメインループもクライアントスクリプトから見てアクティブです。 turtle. 引数のデフォルト値は設定辞書に収められており、 turtle. cfg ファイルを通じて変更できます。 パラメータ• startx -- 正の数ならばスクリーンの左端からピクセル単位で測った開始位置、 負の数ならば右端から、 None ならば水平方向に真ん中• title titlestring パラメータ titlestring -- タートルグラフィックスウィンドウのタイトルバーに表示される文字列 ウインドウのタイトルを titlestring に設定します。 Public classes class turtle. RawTurtle canvas class turtle. RawPen canvas パラメータ canvas -- a tkinter. Canvas, a or a タートルを作ります。 class turtle. Turtle RawTurtle のサブクラスで同じインターフェイスを持ちますが、最初に必要になったとき自動的に作られる オブジェクトに描画します。 class turtle. TurtleScreen cv パラメータ cv -- a tkinter. Canvas 上で説明した setbg のようなスクリーン向けのメソッドを提供します。 class turtle. Screen TurtleScreen のサブクラスで。 class turtle. ScrolledCanvas master パラメータ master -- この ScrolledCanvas すなわちスクロールバーの付いた Tkinter canvas を収める Tkinter ウィジェット タートルたちが遊び回る場所として自動的に ScrolledCanvas を提供する Screen クラスによって使われます。 class turtle. poly -- 多角形、すなわち数のペアのタプル• fill -- poly を塗りつぶす色• class turtle. Vec2D x, y 2次元ベクトルのクラスで、タートルグラフィックスを実装するための補助クラス。 タートルグラフィックスを使ったプログラムでも有用でしょう。 タプルから派生しているので、ベクターはタプルです! 以下の演算が使えます a, b はベクトル、 k は数 :• a - b ベクトル差• abs a a の絶対値• Screen method Set or return backgroundcolor of the TurtleScreen. Arguments if given : a color string or three numbers in the range 0.. colormode or a 3-tuple of such numbers. bgcolor 0. 5,0,0. penup Help on method penup in module turtle: penup self unbound turtle. Turtle method Pull the pen up -- no drawing when moving. penup• Arguments if given : a color string or three numbers in the range 0.. colormode or a 3-tuple of such numbers. 5,0,0. ドキュメント文字列の翻訳 Screen と Turtle クラスのパブリックメソッドについて、キーがメソッド名で値がドキュメント文字列である辞書を作るユーティリティがあります。 turtle. この関数はわざわざ呼び出さなければなりません タートルグラフィックスのクラスから使われることはありません。 ドキュメント文字列辞書は filename. py という Python スクリプトに書き込まれます。 ドキュメント文字列の異なった言語への翻訳に対するテンプレートとして使われることを意図したものです。 py という名前で保存しなければなりません。 さらに turtle. cfg ファイルで適切な設定をしておけば、このファイルがインポート時に読み込まれて元の英語のドキュメント文字列を置き換えます。 この文書を書いている時点ではドイツ語とイタリア語のドキュメント文字列辞書が存在します。 にリクエストして下さい。 最初の4行は Screen. setup メソッドの引数に当たります。 5行目6行目は Screen. screensize メソッドの引数に当たります。 shape は最初から用意されている形ならどれでも使えます arrow, turtle など。 詳しくは help shape をお試し下さい。 py がインポート時に読み込まれます もしそれがインポートパス、たとえば と同じディレクトリにあれば。 exampleturtle および examplescreen はこれらのオブジェクトのドキュメント文字列内での呼び名を決めます。 メソッドのドキュメント文字列から関数のドキュメント文字列に変換する際に、これらの名前は取り除かれます。 これにより がメインループ mainloop に入るのを阻止します。 turtle. cfg ファイルは の保存されているディレクトリと現在の作業ディレクトリに追加的に存在し得ます。 後者が前者の設定をオーバーライドします。 cfg file. You can study it as an example and see its effects when running the demos preferably not from within the demo-viewer. python - m turtledemo. py which can be used to view the sourcecode of the scripts and run them at the same time. Multiple scripts demonstrating different features of the module. Examples can be accessed via the Examples menu. They can also be run standalone. 設定ファイルの書き方や使い方の例として参考にできる turtle. cfg ファイル。 デモスクリプトは以下の通りです: 名前 説明 フィーチャー bytedesign 複雑な古典的タートルグラフィックスパターン tracer , delay, update chaos verhust 力学系のグラフ化, コンピュータの計算が常識的な予想に反する場合があることを示します。 python 2. 6からの変更点• The methods Turtle. tracer , Turtle. Methods with these names and functionality are now available only as methods of Screen. The functions derived from these remain available. In fact already in Python 2. The method Turtle. fill has been eliminated. A method Turtle. filling has been added. It returns a boolean value: True if a filling process is under way, False otherwise. This behaviour corresponds to a fill call without arguments in Python 2. python 3. 0からの変更点• The methods Turtle. shearfactor , Turtle. shapetransform and Turtle. Thus the full range of regular linear transforms is now available for transforming turtle shapes. Turtle. tiltangle has been enhanced in functionality: it now can be used to get or set the tiltangle. Turtle. settiltangle has been deprecated. The method Screen. onkeypress has been added as a complement to Screen. onkey which in fact binds actions to the keyrelease event. Accordingly the latter has got an alias: Screen. onkeyrelease. The method Screen. mainloop has been added. So when working only with Screen and Turtle objects one must not additionally import mainloop anymore. Two input methods has been added Screen. textinput and Screen. numinput. These popup input dialogs and return strings and numbers respectively.

次の