使用Python – 海龜繪圖繪製井字棋棋盤
Python憑藉其廣泛的庫和工具,成為一門流行且廣泛使用的程式語言。本文將使用其中一個庫——海龜繪相簿來完成繪製井字棋的任務。該庫透過使用虛擬海龜來建立圖形。命令傳送到視窗上的虛擬海龜。在本文中,我們將使用海龜庫的簡單函式來繪製井字棋。
什麼是井字棋棋盤?
井字棋是一款流行的遊戲,在一個3*3的網格棋盤上進行。棋盤上有9個方格,遊戲使用X和O作為標記。透過在一行中填滿三個相同的標記即可獲勝。先填滿一行(水平或垂直)的人獲勝。
海龜繪相簿簡介
Python提供了許多內建庫,海龜繪相簿就是其中之一。海龜繪相簿有助於圖形化程式設計;各種函式和方法使其成為一個獨特的庫。您可以用較少的程式碼行建立複雜的圖形和動畫。此功能有助於開發者簡化使用者的操作。該庫中的一些函式或方法如下所示。
序號 |
函式和描述 |
---|---|
1 |
turtle() 此函式用於建立新的海龜物件。 |
2 |
right(angle) 此函式使海龜向右旋轉指定的角度。 |
3 |
left(angle) 此函式使海龜向左旋轉指定的角度。 |
4 |
turtle.forward(distance) 此函式使海龜指標/筆向前移動。 |
5 |
turtle.backward() 此函式使海龜指標/筆向後移動。 |
6 |
penup() 此函式阻止海龜繪製線條,此函式抬起海龜的筆。 |
7 |
pendown() 此函式放下海龜的筆,用於繪製線條。 |
8 |
speed (speed) 此函式用於調整海龜筆的移動速度。 |
9 |
turtle.hideturtle() 此函式用於隱藏海龜筆。 |
10 |
turtle.showturtle() 此函式用於在螢幕上顯示海龜筆。 |
11 |
turtle.colorturtle() 此函式用於設定海龜筆的顏色。 |
12 |
turtle.begin_fill() 此函式用於開始填充形狀的過程。 |
13 |
turtle.end_fill() 此函式用於結束填充過程。 |
這些只是一些在繪製井字棋時也會用到的函式。
步驟
以下是使用Python建立井字棋的步驟:
步驟1:匯入海龜繪相簿是使用它時最重要也是第一步。然後,我們將使用“turtle.Screen()”函式建立一個視窗。讓我們設定海龜筆的大小和顏色。
我們使用turtle.pensize(size)和turtle.pencolor(“color”)來設定其顏色和大小。下一步是編寫繪製井字棋棋盤的程式碼。井字棋棋盤由四條平行的水平線和垂直線組成,每條方向各兩條。為了繪製這些線條,我們使用了四個不同的函式。
步驟2:從繪製前兩條平行的水平線開始。使用的函式包括“turtle.penup()”函式(抬起海龜的筆),“turtle.goto()”函式(改變海龜的位置),“turtle.pendown()”函式(開始繪製)和turtle.forward()函式(繪製指定長度的線)。這是繪製前兩條平行水平線的第一個程式碼集。
步驟3:接下來的程式碼集將幫助我們繪製井字棋棋盤的兩條平行垂直線。繪製垂直線使用的函式相同,但例外的是“turtle.setheading()”。此函式有助於改變海龜的方向。在這裡,我們將角度指定為270,以便海龜向下移動,即朝負y方向移動。
這些座標將要求海龜向下移動“turtle.forward()”,而對於向上方向,我們提到了turtle.backward()。因此,座標在決定海龜頭部移動方向方面起著重要作用。任務完成後,您可以關閉視窗。
示例
讓我們使用海龜繪相簿函式編寫一個繪製井字棋棋盤的程式碼。
import turtle # Create the window for the graphics to be seen window = turtle.Screen() # setting up the turtle turtle.pensize(5) turtle.pencolor("dark blue") # Draw the two parallel horizontal lines turtle.penup() turtle.goto(-100, 50) turtle.pendown() turtle.forward(200) turtle.penup() turtle.goto(-100, -50) turtle.pendown() turtle.forward(200) # Draw the two parallel vertical lines turtle.penup() turtle.goto(-50, 100) turtle.pendown() turtle.setheading(270) turtle.forward(200) turtle.penup() turtle.goto(50, 100) turtle.pendown() turtle.setheading(270) turtle.forward(200) # Close the window turtle.done()
輸出
常見錯誤及其解決方案
“TypeError: ‘int’ object is not callable” 此錯誤發生在將海龜物件用作函式而不是方法時。為了避免此錯誤,應使用點表示法來解決此問題。
語法錯誤是最常見的錯誤,它會導致AttributeError錯誤。
NameError: name ‘turtle’ is not defined;如果在未先匯入庫的情況下使用海龜繪相簿函式,則會發生此錯誤。請確保首先使用“import turtle”匯入庫。
結論
在本文中,我們簡要討論了什麼是井字棋棋盤和海龜繪相簿。本文討論了用於繪製棋盤的不同函式。簡單的語法有助於建立各種圖形動畫,您可以在其中包含各種形狀。複雜的物體也可以透過使用條件語句來建立。