今日の資料
https://drive.google.com/file/d/13ynNgUTHNo8wUxXqltdtYlH8MSD7uF_p/view?usp=sharing
タートルのマニュアル
https://docs.python.org/ja/3/library/turtle.html
マウスやキーボードで操作する
from turtle import * 
reset() 
def turn(x, y): 
    left(90) 
def red(): 
    color('red') 
def black(): 
    color('black') 
onscreenclick(turn) #左クリックで90度回転 
onkey(red, 'r') #rを押すと赤になる 
onkey(black, 'b') #bを押すと黒になる 
listen() 
while True: 
    forward(1) 
① g を押したら線が緑になるようにしましょう
② 2 を押したら線が太くなるように、1 を押したら線が細くなるようにしましょう
② 2 を押したら線が太くなるように、1 を押したら線が細くなるようにしましょう
お絵描きをする
from turtle import * 
def jump(x, y): 
    penup() 
    speed(0) 
    goto(x, y) 
    pendown() 
def red(): 
    color('red') 
def black(): 
    color('black') 
reset() 
listen() 
shape('circle') 
pensize(5) 
onscreenclick(jump) 
ondrag(goto) 
onkey(red, 'r') 
onkey(black, 'b') 
mainloop() 
☆ cを押したら画面をリセットするようにしましょう
複数の亀が動く
import turtle
import random 
screen = turtle.Screen() 
screen.clearscreen()
turtle.speed(0)
turtle.listen() 
def newturtle(): #新しい亀を作る 
    t = turtle.Turtle() 
    t.left(random.randrange(0,360)) 
    t.shape('turtle') 
turtle.shape('turtle') 
turtle.onkey(newturtle, 't') #tが押されたら新しい亀を作る 
while True: #亀はそれぞれランダムな動きをする 
    for t in screen.turtles(): 
        t.forward(1) 
        t.left(random.randrange(-10,10)) 
mainloop() 
アニメーション
from turtle import *
import random 
reset() 
shape('circle') #タートルの形を丸にする 
shapesize(3,3,1) #タートルを大きい丸にする 
speed(0) #一瞬で角度を変えるようにする 
takasa = window_height() #画面の高さ 
haba = window_width() #画面の幅 
penup() #線は描かない 
left(random.randrange(0, 360)) #ランダムな角度でスタート 
while True: #永遠に繰り返す 
    forward(3) 
    if abs(xcor()) >= haba / 2: #左右の壁にぶつかったとき 
        left((90 - heading()) * 2) 
        forward(10) 
    elif abs(ycor()) >= takasa / 2: #上下にぶつかったとき 
        left(heading() * -2) 
        forward(10) 
木を描く(再帰)
from turtle import * 
reset() 
def tree(length): 
    if length > 5: 
        forward(length) 
        right(20) 
        tree(length - 15) 
        left(40) 
        tree(length - 15) 
        right(20) 
        backward(length) 
pensize(3) 
color("green") 
left(90) 
backward(150) 
tree(100) 

コメント
最新を表示する
NG表示方式
NGID一覧