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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
使用Python生成url短链接的方法
May 04 Python
Python做简单的字符串匹配详解
Mar 21 Python
python中reduce()函数的使用方法示例
Sep 29 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
详解python中list的使用
Mar 15 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
python每天定时运行某程序代码
Aug 16 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
Python通过Pillow实现图片对比
Apr 29 Python
Python数据可视化实现多种图例代码详解
Jul 14 Python
Python快速实现一键抠图功能的全过程
Jun 29 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
PHP memcache扩展的三种安装方法
2009/04/26 PHP
PHP生成压缩文件实例
2015/02/07 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
python中随机函数random用法实例
2015/04/30 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
python实现机器人行走效果
2018/01/29 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
解决python 文本过滤和清理问题
2019/08/28 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
行政经理岗位职责
2013/11/09 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
年度考核表个人总结
2015/03/06 职场文书
《日月潭》教学反思
2016/02/20 职场文书
导游词之晋城蟒河
2019/12/12 职场文书