python 贪吃蛇大作战_python实现简单贪吃蛇游戏
本文實例為大家分享了python實現(xiàn)貪吃蛇游戲的具體代碼,供大家參考,具體內容如下
代碼:
from turtle import *
from random import randrange
from time import sleep
### 定義變量
snake = [[0,0],[10,0],[20,0],[30,0],[40,0],[50,0]]
apple_x = randrange(-20,20)*10
apple_y = randrange(-20,20)*10
aim_x = 10
aim_y = 0
def squre(x,y,size,color_name):
up()
goto(x,y)
down()
color(color_name)
begin_fill()
forward(size)
left(90)
forward(size)
left(90)
forward(size)
left(90)
forward(size)
left(90)
end_fill()
## 控制蛇
def change(x,y):
global aim_x,aim_y
aim_x = x;
aim_y = y;
#判斷撞墻
def inside():
#判斷是否在畫布里面
if -210 <= snake[-1][0]<=200 and -210 <= snake[-1][1]<=200:
return True
else:
return False
#隨機生成蘋果
def gameLoop():
global apple_x,apple_y,aim_x,aim_y,snake
snake.append([snake[-1][0]+aim_x,snake[-1][1]+aim_y])
if not inside():
sleep(2)
# snake = [[0,0],[10,0],[20,0],[30,0],[40,0],[50,0]]
# apple_x = randrange(-20,20)*10
# apple_y = randrange(-20,20)*10
# aim_x = 10
# aim_y = 0
return
#吃蘋果
if snake[-1][0] != apple_x or snake[-1][1]!=apple_y:
snake.pop(0) # 加一個元素 刪除一個元素 蛇就往前運行了
else:
apple_x = randrange(-20,20)*10
apple_y = randrange(-20,20)*10
clear() # 清楚之前畫的痕跡
squre(apple_x,apple_y,10,'red') ## x y 位置 圖形大小 顏色
for n in range(len(snake)):
squre(snake[n][0],snake[n][1],10,'black')
ontimer(gameLoop,100) #每100毫秒運行一次
update()
### 主程序
setup(420,420,0,0)
hideturtle() ## 隱藏箭頭
tracer(False) ## 不延時
listen() #監(jiān)聽
onkey(lambda: change(0,10), "w")
onkey(lambda: change(0,-10), "s")
onkey(lambda: change(-10,0), "a")
onkey(lambda: change(10,0), "d")
gameLoop()
done()
更多有趣的經(jīng)典小游戲實現(xiàn)專題,分享給大家:
C++經(jīng)典小游戲匯總
python經(jīng)典小游戲匯總
python俄羅斯方塊游戲集合
JavaScript經(jīng)典游戲 玩不停
java經(jīng)典小游戲匯總
javascript經(jīng)典小游戲匯總
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
時間: 2020-09-26
總結
以上是生活随笔為你收集整理的python 贪吃蛇大作战_python实现简单贪吃蛇游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中项目启动时加载_如何在项目启动
- 下一篇: php psr2规范,php标准规范详解