python实现简单贪吃蛇游戏

 更新时间:2020年09月29日 17:04:21   作者:白鹭凡  
这篇文章主要为大家详细介绍了python实现简单贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下

代码:

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() #监听
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()

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现Word表格转成Excel表格的示例代码

    Python实现Word表格转成Excel表格的示例代码

    这篇文章主要介绍了Python实现Word表格转成Excel表格的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python中三种命令行参数利用方式详解

    Python中三种命令行参数利用方式详解

    Python的命令行参数,提供了很多有用的功能,可以方便调试和运行,这篇文章主要给大家介绍了关于Python中三种命令行参数利用方式的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • python 简单的绘图工具turtle使用详解

    python 简单的绘图工具turtle使用详解

    这篇文章主要介绍了python 简单的绘图工具turtle使用详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Python如何实现自动发送邮件

    Python如何实现自动发送邮件

    对于一些每天需要发的报表或者是需要一次发送多份的报表,我们可以考虑借助Python来自动发送邮件。本文主要介绍了如何利用Python实现自动发送邮件,感兴趣的小伙伴可以了解一下
    2021-11-11
  • python多线程下信号处理程序示例

    python多线程下信号处理程序示例

    这篇文章主要为大家详细介绍了python多线程下信号处理程序示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Django csrf 验证问题的实现

    Django csrf 验证问题的实现

    csrf是通过伪装来自受信任用户的请求来利用受信任的网站。这篇文章主要介绍了Django csrf 验证问题的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Django中从mysql数据库中获取数据传到echarts方式

    Django中从mysql数据库中获取数据传到echarts方式

    这篇文章主要介绍了Django中从mysql数据库中获取数据传到echarts方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 在树莓派2或树莓派B+上安装Python和OpenCV的教程

    在树莓派2或树莓派B+上安装Python和OpenCV的教程

    这篇文章主要介绍了在树莓派2或树莓派B+上安装Python和OpenCV的教程,主要基于GTK库,并以Python2.7和OpenCV 2.4.X版本的安装作为示例,需要的朋友可以参考下
    2015-03-03
  • tensorflow转换ckpt为savermodel模型的实现

    tensorflow转换ckpt为savermodel模型的实现

    这篇文章主要介绍了tensorflow转换ckpt为savermodel模型的实现,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧
    2020-05-05
  • Python中常用utils库详细介绍

    Python中常用utils库详细介绍

    这篇文章主要给大家介绍了关于Python中常用utils库的相关资料,Utils是一个Python库,它提供了一系列的工具,可以帮助你更轻松地管理你的Python环境,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03

最新评论