首頁>技術>

1 效果圖:

2 說明:

=====

2.1 熟悉turtle相關函式和程式設計知識。

2.2 熟悉python的相關函式和程式設計知識。

3 圖片:

=====

jpeg格式

3.2 將圖片jpeg格式轉換為gif格式,採用螢幕錄影格式,儲存為gif格式。

4 程式碼:

=====

4.1 第1步:匯入模組

from random import *from turtle import *

4.2 第2步:常量的初始化

#每一個小格的寬度w_box=100#一行和一列總8:8×8=64n_box=8#每一個格子內的數字0~31,有一對,總共64個num_labels = list(range(32)) * 2#64個小格子hide = [True] * 64#狀態字典state = {'mark': None}#背景圖片,注意圖片格式gifgirl=bgpic('/home/xgj/Desktop/ex-good/11.gif')

4.3 第3步:函式定義

#定義畫一個小方格函式def square(x, y):    up()    goto(x, y)    down()    #網格線顏色為綠色,背景顏色為黑色    color('green', 'black')    begin_fill()    #用下劃線“_”代替臨時性i    for _ in range(4):        forward(w_box) #邊長小格子的寬度        left(90)    end_fill()#索引函式def index(x, y):    return int((x + w_box*n_box//2) // w_box + ((y + w_box*n_box/2) // w_box) * n_box)#x和y座標計數函式def xy(count):    return (count % n_box) * w_box - w_box*n_box//2, (count // n_box) * w_box - w_box*n_box/2#顯示標籤def tap(x, y):    spot = index(x, y)    mark = state['mark']    if mark is None or mark == spot or num_labels[mark] != num_labels[spot]:        state['mark'] = spot    else:        hide[spot] = False        hide[mark] = False        state['mark'] = None#繪畫的總函式def draw():    clear()    goto(0, 0)    #載入背景圖片    shape(girl)    for count in range(64):        if hide[count]:            x, y = xy(count)            square(x, y)    mark = state['mark']    if mark is not None and hide[mark]:        x, y = xy(mark)        up()        goto(x + 2, y+2)        #顯示數字的顏色        color('white')        write(num_labels[mark], font=('Arial', 20, 'normal'))    update()    #計時器,100毫秒    ontimer(draw, 100)

4.4 主函式定義

def main():    #shuffle()是不能直接訪問的,需要匯入 random 模組,然後透過 random 靜態物件呼叫該方法。    #將序列的所有元素隨機排序。    shuffle(num_labels)    #遊戲視窗大小設定    setup(w_box*n_box+20, w_box*n_box+20, 500, 100)    #畫筆隱藏    hideturtle()    #一次性畫出格子    tracer(False)    #調出點選螢幕函式    onscreenclick(tap)    #調出繪畫函式    draw()    #直到關閉視窗右上角的“×”才退出    done()

4.5 第5步:呼叫主函式

if __name__ == "__main__":    main()

分享快樂。

6
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • vue專案配置生產模式、開發模式和測試模式