欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python用海龜繪圖寫貪吃蛇游戲

 更新時間:2021年06月18日 08:58:39   作者:dr-y  
這篇文章主要為大家詳細介紹了python用海龜繪圖寫貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一個簡單的貪吃蛇程序,供大家參考,具體內(nèi)容如下

如圖顯示

導(dǎo)入海龜繪圖庫

from turtle import *
from random import randrange

常量設(shè)置

food_x = randrange(-20, 20) * 20
food_y = randrange(-20, 20) * 20
snack = [[0, 0], [20, 0], [40, 0], [40, 20]]
dir_x = 20
dir_y = 0

主函數(shù)

if __name__ == '__main__':
    # 設(shè)置主窗口的大小和位置
    # width,height,startx,starty(初始位置距離屏幕左邊和右邊多少,默認中間)
    setup(800, 800)
    # 禁用海龜動畫
    tracer(False)
    loop_view()
    listen()
    onkey(lambda: control(0, 20), "w")
    onkey(lambda: control(0, -20), "s")
    onkey(lambda: control(-20, 0), "a")
    onkey(lambda: control(20, 0), "d")
    # 開始事件循環(huán)
    # 調(diào)用 Tkinter 的 mainloop 函數(shù)
    # 必須作為一個海龜繪圖程序的結(jié)束語句
    done()

畫正方形

def draw_square(x, y, size, color_name):
    '''
    畫正方形
    :param x 表示在畫布的x位置
    :param y 表示畫布的y位置
    :param size 表示正方形的長度
    :param color_name 表示正方形的顏色
    :return
    '''

    # 畫筆抬起,移動的時候不畫線
    up()
    # 是海龜不可見
    ht()
    # 將海龜移動到這個位置
    goto(x, y)

    # 畫筆落下 -- 移動時將畫線
    down()
    color("red", color_name)
    begin_fill()
    forward(size)
    left(90)
    forward(size)
    left(90)
    forward(size)
    left(90)
    forward(size)
    left(90)
    end_fill()

    pass

在畫布上畫食物和蛇

def loop_view():
    '''
    循環(huán)界面
    '''
    global food_x, food_y
    if not is_zhangqiang():
        return

    snack.append([snack[-1][0] + dir_x, snack[-1][1] + dir_y])
    if snack[-1][0] != food_x or snack[-1][1] != food_y:
        snack.pop(0)
    else:
        food_x = randrange(-20, 20) * 20
        food_y = randrange(-20, 20) * 20
    clear()
    # 畫食物
    draw_square(food_x, food_y, 20, "red")
    # 畫蛇
    for s in range(len(snack)):
        if s == len(snack) - 1:
            draw_square(snack[s][0], snack[s][1], 20, "yellow")
            continue
        draw_square(snack[s][0], snack[s][1], 20, "black")



    ontimer(loop_view, 100)
    # 執(zhí)行一次 TurtleScreen 刷新。在禁用追蹤時使用
    update()

控制方向

def control(x,y):
    global dir_x, dir_y
    dir_x = x
    dir_y = y

碰撞檢測

def is_zhangqiang():
    if -400 <= snack[-1][0] <= 380 and -400 <= snack[-1][1] <= 380:
        return True
    else:
        return False

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)自動化發(fā)送郵件

    Python實現(xiàn)自動化發(fā)送郵件

    大家好,本篇文章主要講的是Python實現(xiàn)自動化發(fā)送郵件,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • python判斷輸入日期為第幾天的實例

    python判斷輸入日期為第幾天的實例

    今天小編就為大家分享一篇python判斷輸入日期為第幾天的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python爬蟲爬取股票的北上資金持倉數(shù)據(jù)

    python爬蟲爬取股票的北上資金持倉數(shù)據(jù)

    這篇文章主要介紹了python爬蟲爬取股票的北上資金持倉數(shù)據(jù),文章基于python的相關(guān)資料展開爬取數(shù)據(jù)的詳細內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python3實現(xiàn)旋轉(zhuǎn)數(shù)組的3種算法小結(jié)

    Python3實現(xiàn)旋轉(zhuǎn)數(shù)組的3種算法小結(jié)

    旋轉(zhuǎn)數(shù)組是一種常見的數(shù)據(jù)結(jié)構(gòu)問題,通常是指一個有序數(shù)組經(jīng)過旋轉(zhuǎn)后,使得所有元素逆序排列,本文主要介紹了Python3實現(xiàn)旋轉(zhuǎn)數(shù)組的3種算法小結(jié),感興趣的可以了解一下
    2023-12-12
  • 基于Python實現(xiàn)網(wǎng)頁文章轉(zhuǎn)PDF文檔

    基于Python實現(xiàn)網(wǎng)頁文章轉(zhuǎn)PDF文檔

    有時候看到一篇好的文章,想去保存下來,傳統(tǒng)方式一般是收藏書簽、復(fù)制粘貼到文檔或者直接復(fù)制鏈接保存,但這也太麻煩了。本文將用Python語言實現(xiàn)將網(wǎng)上的文章轉(zhuǎn)存為PDF文檔,保存電腦上慢慢看
    2022-05-05
  • python Timer 類使用介紹

    python Timer 類使用介紹

    這篇文章主要介紹了python Timer 類使用介紹的相關(guān)資料,幫助大家更好的理解和使用python iupdatable包,感興趣的朋友可以了解下
    2020-12-12
  • python提取內(nèi)容關(guān)鍵詞的方法

    python提取內(nèi)容關(guān)鍵詞的方法

    這篇文章主要介紹了python提取內(nèi)容關(guān)鍵詞的方法,適用于英文關(guān)鍵詞的提取,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • python網(wǎng)絡(luò)爬蟲基本語法詳解

    python網(wǎng)絡(luò)爬蟲基本語法詳解

    掌握Python網(wǎng)絡(luò)爬蟲基本語法,就是打開數(shù)據(jù)世界的鑰匙,在這份指南中,我們將帶你深入淺出,從零開始一步步變成抓取信息的高手,準備好探索無限可能的網(wǎng)絡(luò)數(shù)據(jù)世界了嗎?讓我們一起開啟這段精彩旅程吧!
    2024-03-03
  • python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法

    python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法

    下面小編就為大家?guī)硪黄猵ython 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • pytorch中.to(device) 和.cuda()的區(qū)別說明

    pytorch中.to(device) 和.cuda()的區(qū)別說明

    這篇文章主要介紹了pytorch中.to(device) 和.cuda()的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評論