Python如何导入海龟绘图库并制作贪吃蛇游戏
Admin 2022-07-23 群英技术资讯 1017 次浏览
很多朋友都对“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PyTorch是一个开源的Python机器学习库,很多新手在PyTorch编写代码过程中,会遇到多种问题。对此下面小编就介绍一些常见的错误提示以及解方法,希望对大家学习PyTorch有帮助。
这篇文章主要介绍了numpy中的log和ln函数解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
在日常工作中,PPT制作是常见的工作。这篇文章主要为大家详细介绍了如何利用Python自动生成PPT,文中的示例代码讲解详细,感兴趣的可以了解一下
这篇文章主要给大家分享的是Python十大特性,Python 编程语言是世界上发展最快的编程语言。这一高级通用编程语言提供了广泛的实际应用,并且是一种非常流行的认证,下面我们就来看看它都有哪些特性吧
这篇文章主要介绍了python中列表添加的四种方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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备09006778号 域名注册商资质 粤 D3.1-20240008