使用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”匯入庫。

結論

在本文中,我們簡要討論了什麼是井字棋棋盤和海龜繪相簿。本文討論了用於繪製棋盤的不同函式。簡單的語法有助於建立各種圖形動畫,您可以在其中包含各種形狀。複雜的物體也可以透過使用條件語句來建立。

更新於:2023年10月11日

941 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告