最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Numpy數(shù)組的組合與分割實現(xiàn)的方法

    Numpy數(shù)組的組合與分割實現(xiàn)的方法

    本文主要介紹了Numpy數(shù)組的組合與分割實現(xiàn)的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 讀Json文件生成pandas數(shù)據(jù)框詳情

    讀Json文件生成pandas數(shù)據(jù)框詳情

    這篇文章主要介紹了讀Json文件生成pandas數(shù)據(jù)框詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-08-08
  • python opencv如何實現(xiàn)圖片繪制

    python opencv如何實現(xiàn)圖片繪制

    這篇文章主要介紹了python opencv如何實現(xiàn)圖片繪制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python中最快的循環(huán)姿勢實例詳解

    Python中最快的循環(huán)姿勢實例詳解

    python給我們提供了多個循環(huán)方法,比如while循環(huán)、for循環(huán)等,下面這篇文章主要給大家介紹了關(guān)于Python中最快的循環(huán)姿勢,需要的朋友可以參考下
    2021-11-11
  • python interpolate插值實例

    python interpolate插值實例

    這篇文章主要介紹了python interpolate插值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python疲勞駕駛困倦低頭檢測功能的實現(xiàn)

    python疲勞駕駛困倦低頭檢測功能的實現(xiàn)

    這篇文章主要介紹了python疲勞駕駛困倦低頭檢測,該系統(tǒng)可以檢測一個人在開車時是否困倦,及時提醒,做到安全隱患排查,對實現(xiàn)代碼感興趣的朋友一起看看吧
    2022-04-04
  • 關(guān)于keras.layers.Conv1D的kernel_size參數(shù)使用介紹

    關(guān)于keras.layers.Conv1D的kernel_size參數(shù)使用介紹

    這篇文章主要介紹了關(guān)于keras.layers.Conv1D的kernel_size參數(shù)使用介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python中列表添加元素的幾種方式(+、append()、extend())

    python中列表添加元素的幾種方式(+、append()、extend())

    本文主要介紹了python中列表添加元素的幾種方式(+、append()、extend()),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Django怎么在admin后臺注冊數(shù)據(jù)庫表

    Django怎么在admin后臺注冊數(shù)據(jù)庫表

    這篇文章主要介紹了Django怎么在admin后臺注冊數(shù)據(jù)庫表,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python實戰(zhàn)之ATM取款機的實現(xiàn)

    Python實戰(zhàn)之ATM取款機的實現(xiàn)

    這篇文章主要為大家詳細介紹了如何利用Python語言模擬實現(xiàn)ATM取款機功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-09-09

最新評論

新昌县| 五家渠市| 平陆县| 巧家县| 嘉善县| 金昌市| 天等县| 中江县| 泰宁县| 天长市| 清原| 资中县| 通渭县| 论坛| 榆林市| 刚察县| 七台河市| 大余县| 高州市| 五家渠市| 天镇县| 通州区| 新邵县| 镇江市| 依安县| 八宿县| 安图县| 公主岭市| 霞浦县| 伊吾县| 望奎县| 南涧| 神池县| 中江县| 来宾市| 同仁县| 鄱阳县| 邯郸县| 合肥市| 都江堰市| 商城县|