Python如何导入海龟绘图库并制作贪吃蛇游戏
Admin 2022-07-23 群英技术资讯 1126 次浏览
很多朋友都对“Python如何导入海龟绘图库并制作贪吃蛇游戏”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!如图显示

导入海龟绘图库
from turtle import * from random import randrange
常量设置
food_x = randrange(-20, 20) * 20 food_y = randrange(-20, 20) * 20 snack = [[0, 0], [20, 0], [40, 0], [40, 20]] dir_x = 20 dir_y = 0
主函数
if __name__ == '__main__':
# 设置主窗口的大小和位置
# width,height,startx,starty(初始位置距离屏幕左边和右边多少,默认中间)
setup(800, 800)
# 禁用海龟动画
tracer(False)
loop_view()
listen()
onkey(lambda: control(0, 20), "w")
onkey(lambda: control(0, -20), "s")
onkey(lambda: control(-20, 0), "a")
onkey(lambda: control(20, 0), "d")
# 开始事件循环
# 调用 Tkinter 的 mainloop 函数
# 必须作为一个海龟绘图程序的结束语句
done()
画正方形
def draw_square(x, y, size, color_name):
'''
画正方形
:param x 表示在画布的x位置
:param y 表示画布的y位置
:param size 表示正方形的长度
:param color_name 表示正方形的颜色
:return
'''
# 画笔抬起,移动的时候不画线
up()
# 是海龟不可见
ht()
# 将海龟移动到这个位置
goto(x, y)
# 画笔落下 -- 移动时将画线
down()
color("red", color_name)
begin_fill()
forward(size)
left(90)
forward(size)
left(90)
forward(size)
left(90)
forward(size)
left(90)
end_fill()
pass
在画布上画食物和蛇
def loop_view():
'''
循环界面
'''
global food_x, food_y
if not is_zhangqiang():
return
snack.append([snack[-1][0] + dir_x, snack[-1][1] + dir_y])
if snack[-1][0] != food_x or snack[-1][1] != food_y:
snack.pop(0)
else:
food_x = randrange(-20, 20) * 20
food_y = randrange(-20, 20) * 20
clear()
# 画食物
draw_square(food_x, food_y, 20, "red")
# 画蛇
for s in range(len(snack)):
if s == len(snack) - 1:
draw_square(snack[s][0], snack[s][1], 20, "yellow")
continue
draw_square(snack[s][0], snack[s][1], 20, "black")
ontimer(loop_view, 100)
# 执行一次 TurtleScreen 刷新。在禁用追踪时使用
update()
控制方向
def control(x,y):
global dir_x, dir_y
dir_x = x
dir_y = y
碰撞检测
def is_zhangqiang():
if -400 <= snack[-1][0] <= 380 and -400 <= snack[-1][1] <= 380:
return True
else:
return False
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在使用 Python 处理字符串的时候,有时候会需要分割字符。 分隔符比如下划线 “_”,比如 “.”之类的。一个分隔符 比如对于文件名 20191022_log.zip,我们想要获取前面的日期。 如果日期格式固定,对于这样的字符串我们当然可以使用索引进行切割。 当...
Python为字典提供了一些很实用的内建方法,使用这些方法可以帮助读者在工作中应对涉及字典的问题,简化开发的步骤。此外,Python还提供了一些字典的常用操作。具体如下表:
Python读取excel,常用第三方库是xlrd,写入的是xlwt。有时候我们用xlrd读取数据会出现错误,让我们一起看看怎么解决吧。
这篇文章主要介绍了Python OpenGL基本配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
python下如何往数据库批量插入数据?方法是什么?假如我们想要往数据库表中的插入的数据有几百上千条,那么一条条插入,则调用sql语句查询插入就需要执行几百上千,这样花费的时间就非常的长。因此我们可以使用cursor.executemany(sql,args)来实现批量插入数据,那么具体怎样做呢?接着往下看。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008