6月18日(お絵描き1)

ページ名:6月18日(お絵描き1)

講義資料

https://drive.google.com/file/d/100luMWHmwBuHQ5gugEuWl01QMXshWsGI/view?usp=sharing

マニュアル

https://docs.python.org/ja/3/library/turtle.html

タートルの基本

from turtle import * #おまじない
reset() #画面をクリアして亀を原点に移動する
color('red', 'yellow') #線の色、塗りつぶしの色
width(5) #線の太さ
begin_fill() #塗りつぶし開始
circle(100) #半径100の円を描く
end_fill() #塗りつぶし終了
penup() #ペンを上げる
right(90) #右に90°方向転換
forward(100) #100進む
right(90)
forward(200)
left(180)
color('blue')
pendown() #ペンを下す
forward(400)

 

rangeを使った繰り返し

from turtle import *
colorlist=['green','yellow','red']
reset()
penup()
left(180)
forward(100)
left(180)
for i in range(3):
    fillcolor(colorlist[i])
    pendown()
    begin_fill()
    circle(50)
    end_fill()
    penup()
    forward(100)
 

階段を描く

from turtle import *
reset()
penup()
right(90)
forward(200)
right(90)
forward(200)
right(180)
for i in range(20):
    pendown()
    forward(20)
    left(90)
    forward(20)
    right(90)
 

ランダムの利用

from turtle import *
import random
reset()
for i in range(random.randrange(5,20)):
    penup()
    goto(random.randrange(-200, 200), random.randrange(-150, 150))
    pendown()
    circle(random.randrange(10, 100))
 

三角形を描く

from turtle import *
reset()
for i in range(3):
    forward(100)
    left(120)
 

5角形を描く

from turtle import *
reset()
for i in range(5):
    forward(100)
    left(72)
 

関数の利用(キャベツ)

from turtle import *
reset()
 
def kakkei(w, n): #1辺がwn角形を描く
    for i in range(n):
        forward(w)
        left(360/n)
 
penup()
right(90)
forward(100)
left(90)
pendown()
color('pale green') #黄緑
for i in range(3,20):
    kakkei(50,i)
 

星を描く

from turtle import *
reset()
bgcolor('black') #背景色
color('white')
fillcolor('white')
begin_fill()
for i in range(5):
    forward(50)
    right(180 - 180/5)
end_fill()
 

星をランダムに描く

from turtle import *
import random
reset()
speed(100)
bgcolor('black') #背景色
color('white')
fillcolor('white')

def star(size, n): #指定した大きさのn芒星を描く
    begin_fill()
    for i in range(n):
        forward(size)
        right(180 - 180/n)
    end_fill()

for i in range(random.randrange(30,50)):
    penup()
    goto(random.randrange(-200, 200), random.randrange(-150, 150))
    pendown()
    star(random.randrange(10, 50), random.randrange(5,15,2))

バウンドボール(whileとifの利用)

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)
 

木を描く(再帰)

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)
 
 
 
 
 

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧