成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Python使用海龜繪圖實現(xiàn)貪吃蛇游戲

瀏覽:137日期:2022-06-16 13:17:08

在實現(xiàn)貪吃蛇游戲時,首先需要使用python內(nèi)置的turtle模塊來實現(xiàn)創(chuàng)建游戲窗體與鍵盤按鍵的監(jiān)聽工作,然后使用freegames模塊進行貪吃蛇的繪制工作。

1、turtle模塊

turtle模塊是python的內(nèi)置模塊,所以在使用前需要使用import導(dǎo)入該模塊。代碼如下:

import turtle

(1) 創(chuàng)建游戲窗體可以使用turtle模塊中的setup()方法來實現(xiàn)。語法格式如下:

turtle.setup(width=_CFG['width'],height=_CFG['height'],startx=_CFG['leftright'],starty=_CFG['topbottom'])

參數(shù)說明如下:

width:表示窗體的寬度,如果是整數(shù),大小以像素為單位,如果是浮動,則為屏幕的一小部分;默認值為屏幕的50%。 height:表示窗體的高度,如果是整數(shù),高度以像素為單位,如果是浮動,則為屏幕的一小部分;默認值為屏幕的75%。 startx:表示窗體顯示在屏幕的橫向位置,如果為正,則以像素為單位從屏幕左邊緣開始,如果為負,則從右邊緣開始,如果沒有,則水平居中窗口。 starty:表示窗體顯示在屏幕的縱向位置,如果為正,則以像素為單位從屏幕上邊緣開始,如果為負,則從下邊緣開始,如果沒有,則垂直居中窗口。

創(chuàng)建游戲窗體的關(guān)鍵代碼如下:

import turtle # 導(dǎo)入繪圖海龜模塊turtle.setup(420, 420) # 創(chuàng)建窗體大小turtle.done() # 停止畫筆繪制,但繪圖窗體不關(guān)閉

(2)通過turtle模塊中的onkey()方法可以實現(xiàn)對應(yīng)鍵盤中按鍵的監(jiān)聽工作。語法格式如下:

turtle.onkey(fun,key)

參數(shù)說明如下:

fun:表示需要執(zhí)行的方法。 key:該參數(shù)為字符串,表示鍵盤中對應(yīng)的按鍵,例如“a”或“space”。

注意:在使用onkey()方法實現(xiàn)鍵盤的監(jiān)聽時,還需要調(diào)用turtle.listen()方法即可實現(xiàn)鍵盤按鍵的監(jiān)聽。

實現(xiàn)鍵盤中上、下、左、右按鍵監(jiān)聽工作的關(guān)鍵代碼如下:

turtle.listen()# 事件監(jiān)聽器turtle.onkey(lambda: change(10, 0), ’Right’) # 按鍵盤右鍵,蛇向右走turtle.onkey(lambda: change(-10, 0), ’Left’) # 按鍵盤左鍵,蛇向左走turtle.onkey(lambda: change(0, 10), ’Up’) # 按鍵盤上鍵,蛇向上走turtle.onkey(lambda: change(0, -10), ’Down’) # 按鍵盤下鍵,蛇向下走

2、freegames模塊

freegames模塊是第三方模塊,所以在使用前需要先通過以下命令進行模塊的安裝:

pip install freegames

模塊安裝完成以后,首先需要導(dǎo)入freegames模塊中的vector與square函數(shù)。代碼如下:

from freegames import vector,square # 導(dǎo)入向量類與繪圖函數(shù)

(1)通過freegames模塊中的vector()類可以根據(jù)指定的x、y坐標創(chuàng)建一個二維向量對象。vector()類的語法格式如下:

class freegames.vector(x,y)

參數(shù)說明如下:

x:表示橫向坐標。 y:表示縱向坐標。

實現(xiàn)定義游戲中的食物位置、蛇位置以及蛇移動的位置與距離。關(guān)鍵代碼如下:

food = vector(0,0)# 食物snake = [vector(10, 0)] # 蛇position = vector(0, -10) # 移動位置,一步的距離為10

(2)通過freegames模塊中square函數(shù)可以實現(xiàn)在(x,y)處繪制指定邊長大小的正方形,并填充指定顏色。square()函數(shù)的語法格式如下:

freegames.square(x,y,size,name)

參數(shù)說明如下:

x:表示橫向坐標。 y:表示縱向坐標。 size:表示繪制正方形的邊長。 name:表示填充顏色的名稱。

實現(xiàn)繪制游戲中食物、蛇。關(guān)鍵代碼如下:

square(body.x, body.y, 9, ’black’) # 繪制黑色蛇square(food.x, food.y, 9, ’green’) # 繪制綠色食物

實例

from random import randrange # 導(dǎo)入隨機函數(shù)from freegames import vector,square # 導(dǎo)入向量函數(shù)與繪圖函數(shù)import turtle # 導(dǎo)入繪圖海龜模塊food = vector(0,0)# 食物snake = [vector(10, 0)] # 蛇position = vector(0, -10) # 移動位置,一步的距離為10def change(x, y):# 改變蛇的移動方向 position.x = x position.y = ydef is_inside(head):# 判斷蛇頭是否在窗體內(nèi) return -200 < head.x < 190 and -200 < head.y < 190def move(): # 可以讓蛇移動的方法 head = snake[-1].copy() # 確定蛇頭的位置 head.move(position)# 移動一步 if not is_inside(head) or head in snake: # 如果蛇的頭部位于邊界外或者蛇頭在蛇的身體中square(head.x, head.y, 9, ’red’) # 繪制紅色蛇頭,說明游戲結(jié)束turtle.update() # 更新return snake.append(head) # 更新蛇的位置 if head == food: # 如果蛇吃到食物print(’Snake:’, len(snake)) # 根據(jù)蛇的長度進行加分food.x = randrange(-15, 15) * 10 # 隨機生成食物x坐標food.y = randrange(-15, 15) * 10 # 隨機生成食物y坐標 else:snake.pop(0) # 移除蛇走過的坐標 turtle.clear() # 清空蛇走過的位置 for body in snake: # 循環(huán)遍歷蛇的坐標square(body.x, body.y, 9, ’black’) # 繪制黑色蛇 square(food.x, food.y, 9, ’green’) # 繪制綠色食物 turtle.update() turtle.ontimer(move, 100) # 定時執(zhí)行move函數(shù)if __name__ == ’__main__’: # 程序入口 turtle.setup(420, 420, 370, 0) # 創(chuàng)建窗體大小 turtle.hideturtle() # 隱藏箭頭顯示 turtle.tracer(False) # 關(guān)閉繪畫效果 move() # 調(diào)用讓蛇移動的方法 turtle.listen()# 事件監(jiān)聽器 turtle.onkey(lambda: change(10, 0), ’Right’) # 按鍵盤右鍵,蛇向右走 turtle.onkey(lambda: change(-10, 0), ’Left’) # 按鍵盤左鍵,蛇向左走 turtle.onkey(lambda: change(0, 10), ’Up’) # 按鍵盤上鍵,蛇向上走 turtle.onkey(lambda: change(0, -10), ’Down’) # 按鍵盤下鍵,蛇向下走 turtle.done() # 停止畫筆繪制,但繪圖窗體不關(guān)閉

更多關(guān)于python游戲的精彩文章請點擊查看以下專題:

python俄羅斯方塊游戲集合

python經(jīng)典小游戲匯總

python微信跳一跳游戲集合

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:

C++經(jīng)典小游戲匯總

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

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

標簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩女优av电影| 国产最新精品免费| 91麻豆精品国产| 亚洲精品一区二区三区香蕉| 日韩伦理电影网| 婷婷久久综合九色综合绿巨人| 久久精品二区亚洲w码| 成人免费av资源| 激情婷婷久久| 欧美日韩一区二区在线观看| 久久精品视频在线免费观看| 日韩一区二区在线播放| 亚洲精品中文字幕在线观看| 奇米影视7777精品一区二区| av福利精品导航| 午夜亚洲一区| 日韩一二三四区| 美女久久久精品| 欧美日本一区| 91黄色在线观看| 国产日韩欧美高清| 婷婷开心激情综合| 久久国产一区二区| 国产人成一区二区三区影院| 北条麻妃一区二区三区| 欧美xxx久久| 亚洲日韩视频| 欧美一区二区三区不卡| 欧美videofree性高清杂交| 亚洲国产一区视频| 亚洲精品乱码久久久久久日本蜜臀| 国产一区二区调教| 日韩国产一二三区| 欧美日韩影院| av电影在线观看一区| 3d动漫精品啪啪一区二区竹菊| 蜜臀av一区二区在线观看 | 精品一二三四在线| 成人中文字幕电影| 日韩一区二区高清| 99久久精品免费| 9久re热视频在线精品| 欧美一级午夜免费电影| 国产精品亚洲第一| 日韩午夜高潮| 悠悠色在线精品| 久久精品官网| 理论片日本一区| 久久精品一区八戒影视| 国产精品1024久久| 国产一区二区在线视频| 狠狠色综合一区二区| 26uuu精品一区二区| 亚洲精品欧美精品| 欧美亚洲图片小说| 欧美视频第二页| 欧美军同video69gay| 久久久久久亚洲精品杨幂换脸 | 一区二区三区久久久| 国精产品一区一区三区mba视频| 日韩天天综合| 午夜精品一区二区三区免费视频| 91国偷自产一区二区使用方法| 国产成人在线网站| 中文字幕在线免费不卡| 色综合久久综合| 欧美一级搡bbbb搡bbbb| 欧美国产高潮xxxx1819| 久久精品一区二区三区不卡牛牛| 亚洲欧洲一区| 午夜不卡av免费| 日韩视频一区二区在线观看| 欧美日本在线| 免费高清视频精品| 国产日韩精品一区| 久热精品在线| 欧美承认网站| 奇米色777欧美一区二区| 欧美精品一区二区三区蜜桃视频| 99伊人成综合| 国产凹凸在线观看一区二区| 欧美一级精品大片| 成人免费高清在线观看| 一区二区三区蜜桃网| 91精品国产综合久久久久| 国产精品啊v在线| 久久免费精品国产久精品久久久久| 成人精品国产福利| 欧美精品一区二区三区在线播放 | 国产日韩专区| 亚洲色图欧洲色图婷婷| 欧美视频一区二区三区| 午夜日韩福利| 久久国产视频网| 亚洲人成网站色在线观看| 一区二区三区国产在线| 亚洲欧美日韩一区| 正在播放一区二区| 国产精品一区视频网站| 男女男精品视频网| 日本一区二区不卡视频| 精品91免费| 国产精品伊人色| 夜夜亚洲天天久久| 久久午夜色播影院免费高清| 色哟哟一区二区| 国产成人综合自拍| 亚洲国产精品久久久男人的天堂| 欧美精品一区二区三区视频| 在线中文字幕一区| 亚洲国产美女| 国产精品99久久久久久久vr| 亚洲成人免费在线| 欧美日韩国产大片| 成人福利视频网站| 日韩av一二三| 樱桃国产成人精品视频| 久久美女艺术照精彩视频福利播放| 欧美在线色视频| 成人性生交大片免费看在线播放| 亚洲成人福利片| 国产精品视频免费看| 亚洲欧美日韩国产综合精品二区| 99精品欧美一区二区三区小说 | 欧美一区二区三区四区视频 | 久久精品国语| 国产综合视频| 91丨porny丨最新| 久久精品亚洲一区二区三区浴池 | 日本成人在线电影网| 中文字幕亚洲区| 精品国产乱码久久久久久夜甘婷婷| 美女爽到呻吟久久久久| 黄色精品免费| 色综合中文综合网| 久久亚洲精精品中文字幕早川悠里| 精品视频1区2区3区| 国产日韩高清一区二区三区在线| 女女同性精品视频| 国产高清久久久| 免费在线观看一区二区三区| 一区二区三区国产豹纹内裤在线| 久久久99精品免费观看不卡| 日韩精品一区二区三区中文不卡 | 国产精品久久久久久久久果冻传媒 | 99re热视频这里只精品| 久久99精品国产.久久久久 | 青青草原综合久久大伊人精品优势| 亚洲日穴在线视频| 中文欧美字幕免费| 久久久久久久久岛国免费| 日韩欧美色电影| 在线不卡中文字幕播放| 欧美视频一区二区三区| 色综合久久久久综合99| 另类亚洲自拍| 久久久xxx| 久久久久网站| 久久精品国产第一区二区三区最新章节 | 国产精品一区二区三区四区| 麻豆成人久久精品二区三区小说| 日韩精品每日更新| 正在播放亚洲一区| 91久久精品午夜一区二区| 老司机亚洲精品| 裸体一区二区| 久久福利电影| 久久国产一区| 一本到不卡免费一区二区| 久久亚洲国产精品一区二区| 欧美一进一出视频| 国产精品试看| 午夜在线观看免费一区| 国产精品一区二区你懂得| 国产精品久久一区二区三区| 99精品久久| 国产偷自视频区视频一区二区| 亚洲理论在线| 最新成人av网站| 国产日韩1区| 久久久亚洲人| 欧美色中文字幕| 在线综合视频播放| 日韩写真欧美这视频| 欧美电影免费观看高清完整版| 欧美一级片在线看| 日韩限制级电影在线观看| 日韩精品中午字幕| 久久久精品免费免费| 国产欧美日韩中文久久| 中文字幕在线免费不卡| 一区二区三区在线免费播放 | 欧美一区二区三区四区在线观看 | 伊甸园精品99久久久久久| 国产麻豆精品久久一二三| 国产精品资源在线看| 高清国产一区二区| 91在线视频在线| 不卡欧美aaaaa| 国产精品swag|