校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > python用海龜繪圖寫貪吃蛇游戲

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

熱門標簽:無錫客服外呼系統一般多少錢 地圖標注視頻廣告 北京電信外呼系統靠譜嗎 大連crm外呼系統 老人電話機器人 梅州外呼業務系統 洪澤縣地圖標注 百度地圖標注位置怎么修改 高德地圖標注是免費的嗎

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

如圖顯示

導入海龜繪圖庫

from turtle import *
from random import randrange

常量設置

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

主函數

if __name__ == '__main__':
    # 設置主窗口的大小和位置
    # 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")
    # 開始事件循環
    # 調用 Tkinter 的 mainloop 函數
    # 必須作為一個海龜繪圖程序的結束語句
    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():
    '''
    循環界面
    '''
    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)
    # 執行一次 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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 中秋快到了利用python畫個月亮和月餅
  • 使用Python為中秋節繪制一塊美味的月餅
  • Python使用海龜繪圖實現貪吃蛇游戲
  • 中秋快到了利用 python 繪制中秋禮物

標簽:岳陽 泉州 洛陽 長春 怒江 吉林 安慶 清遠

巨人網絡通訊聲明:本文標題《python用海龜繪圖寫貪吃蛇游戲》,本文關鍵詞  python,用,海龜,繪圖,寫,貪吃,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python用海龜繪圖寫貪吃蛇游戲》相關的同類信息!
  • 本頁收集關于python用海龜繪圖寫貪吃蛇游戲的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 上杭县| 英吉沙县| 自治县| 孝昌县| 会宁县| 拉萨市| 尼玛县| 天峻县| 讷河市| 晋江市| 尤溪县| 抚宁县| 布尔津县| 荔浦县| 永登县| 孟津县| 凤冈县| 盐山县| 襄城县| 新河县| 沂源县| 河北区| 永和县| 寻乌县| 丰城市| 江孜县| 勐海县| 沾化县| 靖江市| 扬中市| 韶关市| 上林县| 涿鹿县| 舞阳县| 宜良县| 顺义区| 西乡县| 上杭县| 蛟河市| 门源| 乳源|