VBA別館・Python別館

64454

Python Turtleグラフィックス - Tak

2018/12/28 (Fri) 09:50:19

面白いGUIを見つけました。 Python+tkinterの上で動作します。

x-y 平面の (0, 0) から動き出すロボット亀を想像してみて下さい。 turtle.forward(15) という命令を出すと、その亀が (スクリーン上で!) 15 ピクセル分顔を向けている方向に動き、動きに沿って線を引きます。 turtle.left(25) という命令を出すと、今度はその場で25度反時計回りに回ります。

これらの命令と他の同様な命令を組み合わせることで、複雑な形や絵が簡単に描けます。

これから小学校でも、AI志向のプログラムの教育が始まろううとしております。 面白そうなのでやってみます。

Turtleとは亀さんの意味ですので、ゆっくり進みましょう。

少し調べたところでは、ここまでやってきたPythonとtkinterの知識で対応できそうです。

Why don't you try with me!

① 亀が丸く動きます

-----------------
import turtle

t=turtle.Turtle()
#turtleをtと省略して効率化を図ります。

t.circle(100) # 半径100の円を描け

-------------------

tkinterでやるよりメッチャ早いです。 これなら子供でも痴呆人でも出来そう。

Re: Python Turtleグラフィックス - Tak

2018/12/28 (Fri) 09:55:31

② 亀輝く

余り簡単で馬鹿にされると困るので、ちょっと難しい図形を描きます。

----------------------------

#亀輝く1.py 12/28/2018

from turtle import *

color('red', 'yellow')
begin_fill()
while True:
  forward(200)
  left(170)
  if abs(pos()) < 1:
    break
end_fill()
done()

Re: Python Turtleグラフィックス - Tak

2018/12/28 (Fri) 22:26:55

③ 亀に命令を出す

どのように亀を動かすか、基本的なコマンド(命令)を見てみましょう。

------------------
import turtle

t=turtle.Turtle()

input() #命令用スイッチです。 キーボードのエンターを押せば指令が出ます。

t.forward(100) ㋑100歩進め

t.left(45) ㋺ 90度左向け

input()
t.color('red') ㋩ 赤ペンを持て

input()
t.forward(100) ㊁ # 100歩進め

input()
t.circle(100) ㋭ 半径100の円を描け

------------------------

上のcodeをrunしたのが図です。

このほかTurtleの動きなら、移動および描画として
forward() | fd()
backward() | bk() | back()
right() | rt()
left() | lt()
goto() | setpos() | setposition()
setx()
sety()
setheading() | seth()
home()
circle()
dot()
stamp()
clearstamp()
clearstamps()
undo()
speed()
などがあります。

Python、tkinterのコマンドと比べてなんと簡単、明瞭なことでしょう。

こんなコマンドを並べるだけで、インベーダーみたいなゲームなら割と簡単にできそうですね。

でも僕のやりたいのは、AIプログラミングなのでTurtleグラフィックスとは一寸違うようです。

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.