python实现简单贪吃蛇游戏


Posted in Python onSeptember 29, 2020

本文实例为大家分享了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()

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

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

Python 相关文章推荐
python里将list中元素依次向前移动一位
Sep 12 Python
Python利用ansible分发处理任务
Aug 04 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
Oct 11 Python
django 类视图的使用方法详解
Jul 24 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 Python
学点简单的Django之第一个Django程序的实现
Feb 24 Python
python 下划线的多种应用场景总结
May 12 Python
python爬虫---requests库的用法详解
Sep 28 #Python
如何在scrapy中捕获并处理各种异常
Sep 28 #Python
python向企业微信发送文字和图片消息的示例
Sep 28 #Python
python利用tkinter实现图片格式转换的示例
Sep 28 #Python
python在CMD界面读取excel所有数据的示例
Sep 28 #Python
python调用摄像头的示例代码
Sep 28 #Python
python 调用API接口 获取和解析 Json数据
Sep 28 #Python
You might like
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
Nest.js 授权验证的方法示例
2021/02/22 Javascript
使用Python操作excel文件的实例代码
2017/10/15 Python
python实现决策树分类算法
2017/12/21 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
python 列表推导式使用详解
2019/08/29 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
思想政治教育专业个人求职信范文
2013/12/20 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
质检员岗位职责范本
2015/04/07 职场文书
民事上诉状范文
2015/05/22 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
导游词之山东孔庙
2019/11/04 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android