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 相关文章推荐
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
python中常用的各种数据库操作模块和连接实例
May 29 Python
Python Web框架Flask中使用新浪SAE云存储实例
Feb 08 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
python动态网页批量爬取
Feb 14 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
Python requests库用法实例详解
Aug 14 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
Python正则表达式实现简易计算器功能示例
May 07 Python
Django框架自定义session处理操作示例
May 27 Python
使用Python OpenCV为CNN增加图像样本的实现
Jun 10 Python
方法汇总:Python 安装第三方库常用
Apr 26 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
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
JavaScript Prototype对象
2009/01/07 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python文件名和文件路径操作实例
2017/09/29 Python
建筑系毕业生自我鉴定
2014/01/24 职场文书
《小池塘》教学反思
2014/02/28 职场文书
初三学习决心书
2014/03/11 职场文书
个人债务授权委托书
2014/10/17 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
工作调动申请报告
2015/05/18 职场文书
农村老人去世追悼词
2015/06/23 职场文书
财务管理制度范本
2015/08/04 职场文书