1. 程式人生 > >Python中使用turtle繪製棋盤詳解

Python中使用turtle繪製棋盤詳解

效果

實現

原始碼

import turtle
#宣告棋盤的單元格寬度為30,數量為18
width = 30
num = 18
#設定畫布大小
turtle.screensize(1200,900,"green")
#宣告列表來存取座標
x1 = [(-400,400),(-400+width*num,400)]
y1 = [(-400,400),(-400,400-width*num)]
#獲取畫筆
t = turtle.Pen()
#設定畫筆速度(1-10)越大速度越快
t.speed(8)
#設定畫筆顏色
t.pencolor("red")

#迴圈繪製橫向線
for i in range(0,19):
    t.penup()
    t.goto(x1[0][0],x1[0][1]-30*i)
    t.pendown()
    t.goto(x1[1][0],x1[1][1]-30*i)
#迴圈繪製縱向線
for i in range(0,19):
    t.penup()
    t.goto(y1[0][0]+30*i,y1[0][1])
    t.pendown()
    t.goto(y1[1][0]+30*i,y1[1][1])

#隱藏畫筆
t.hideturtle()
#保證執行視窗不被關閉
turtle.done()

講解

在繪製橫向線的迴圈裡:

當i=0

執行penup()讓畫筆擡起

執行goto()讓筆挪到執行位置

因為x1是列表,所以x軸的座標x1[0][0]就是列表中的第一個元素的第一個值,即-400

y軸的座標x1[0][1]-30*i就為列表x1中的的第一個元素的第二個值,即400-0*30=400

所以筆會首先挪到(-400,400)

此時筆來到①點,此時執行pendown()畫筆會落下

然後再移動到②點,因為此時筆已經落下,所以會畫出①②這條線。

同理i=1時畫出③④這條線。

同理豎線的繪製也是如此。