Python如何导入海龟绘图库并制作贪吃蛇游戏
Admin 2022-07-23 群英技术资讯 568 次浏览
如图显示
导入海龟绘图库
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开发app实战的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
内容介绍一、概念介绍二、数据展示三、数据导入四、图像绘制五、树形结构总结一、概念介绍矩形树图(Treemap),即矩形式树状结构图,利用矩形的面积表示数值的大小,颜色用于类别区分,常用于呈现多类别的一
多数情况下,仅仅一个判断条件难以满足我们接下来的操作,通常都是多个条件下执行后面的语句。由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,接下来我们就来看看如何用if语句判断多个条件。
这篇文章主要介绍了Python如何通过地址获取变量,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了如何用 Python 子进程关闭 Excel 自动化中的弹窗,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008