失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > turtle画图实现阿根廷足球

turtle画图实现阿根廷足球

时间:2019-07-17 06:06:07

相关推荐

turtle画图实现阿根廷足球

🖱 ⌨个人主页: Love And Program的个人主页

💖💖如果对你有帮助的话希望三连💨💨支持一下博主

来自梅西的大力抽射🥰

致昨晚的梅西思路加入阿根廷元素加入足球元素 源码

致昨晚的梅西

昨晚上阿根廷与荷兰的争锋真的让我十分满足,两边都是拼尽全力,能进八强的都绝非弱旅,剧情更是跌宕起伏,小心脏呼呼的,就一个字,爽啊!

尤其是看完梅西的劲射我真的久久难以平复,所以我决定,用turtle画一个梅西 的抽射球🤣🤣

思路

加入阿根廷元素

首先肯定是阿根廷国旗打底,这是灵魂所在,这里需要声明一下,turtle.Screen().bgpic()函数只接受gif图片,同时直接手动png、jpegjif都不可以,这里我也尝试过使用addshape()函数,不过效果并不是很好,非常鬼畜,有兴趣的可以搜搜试试。

sc = turtle.Screen()sc.bgpic("3.gif")

加入足球元素

然后就是画一个足球,但是仔细一想既然是抽射,那肯定需要表现出球在运动,那我们就不能单单画一个球,所以我手动给他加上了破风声,飕~ 飕 ~ 艘~,不过画画能力一般般啊,自己花半天就这个比例能看😂

我们在最外圈加一层线条,表示风的轨迹,就像梅西射门球速达到122km/h一样,艘~的一下破门而入

def neibu(jiaodu, lianxian):turtle.penup()turtle.goto(-50, -87)turtle.pendown()for i in range(6):turtle.fd(100)lianxian = - 60 + 60 * iturtle.seth(lianxian)if i==0:turtle.fd(60)turtle.seth(-94)turtle.fd(170)turtle.seth(86)turtle.fd(170)turtle.seth(120 + 60 * i)turtle.fd(60)elif i==1:turtle.fd(100)turtle.seth(-93)turtle.fd(170)turtle.seth(87)turtle.fd(170)turtle.seth(120 + 60 * i)turtle.fd(100)elif i==2:turtle.fd(100)turtle.seth(-91)turtle.fd(220)turtle.seth(89)turtle.fd(220)turtle.seth(120 + 60 * i)turtle.fd(100)elif i==3:turtle.fd(100)turtle.seth(-95)turtle.fd(320)turtle.seth(85)turtle.fd(320)turtle.seth(120 + 60 * i)turtle.fd(100)elif i ==4:turtle.fd(100)turtle.seth(-94)turtle.fd(200)turtle.seth(86)turtle.fd(200)turtle.seth(120 + 60 * i)turtle.fd(100)elif i == 5:turtle.fd(100)turtle.seth(-92)turtle.fd(120)turtle.seth(88)turtle.fd(120)turtle.seth(120 + 60 * i)turtle.fd(100)jiaodu += 60turtle.seth(jiaodu)turtle.penup()# 移动画笔的坐标turtle.goto(0, -200)turtle.pendown()# turtle.color('black')turtle.circle(200)# 画中心六角形jiaodu = 0lianxian = 0turtle.begin_fill()neibu(jiaodu, lianxian)turtle.end_fill()

最后一步我们需要填充颜色,一开始想画的中间是五角星的球,里面是星空的颜色,但是最后做出来感觉达到上面这种效果就够了,比加上五角星好看多了,有喜欢后一种的可以自己加上并选择自己喜欢的颜色作参考:

def wujiao():for i in range(5):turtle.forward(120)turtle.right(144)#中心五角星turtle.color('#D9006C')turtle.begin_fill()# turtle.fillcolor((1,1,1))turtle.penup()turtle.goto(-60, 15)turtle.pendown()wujiao()turtle.end_fill()

源码

最后是源码部分,只需要安装turtle即可直接运行

import turtledef wujiao():for i in range(5):turtle.forward(120)turtle.right(144)def neibu(jiaodu, lianxian):turtle.penup()turtle.goto(-50, -87)turtle.pendown()for i in range(6):turtle.fd(100)lianxian = - 60 + 60 * iturtle.seth(lianxian)if i==0:turtle.fd(60)turtle.seth(-94)turtle.fd(170)turtle.seth(86)turtle.fd(170)turtle.seth(120 + 60 * i)turtle.fd(60)elif i==1:turtle.fd(100)turtle.seth(-93)turtle.fd(170)turtle.seth(87)turtle.fd(170)turtle.seth(120 + 60 * i)turtle.fd(100)elif i==2:turtle.fd(100)turtle.seth(-91)turtle.fd(220)turtle.seth(89)turtle.fd(220)turtle.seth(120 + 60 * i)turtle.fd(100)elif i==3:turtle.fd(100)turtle.seth(-95)turtle.fd(320)turtle.seth(85)turtle.fd(320)turtle.seth(120 + 60 * i)turtle.fd(100)elif i ==4:turtle.fd(100)turtle.seth(-94)turtle.fd(200)turtle.seth(86)turtle.fd(200)turtle.seth(120 + 60 * i)turtle.fd(100)elif i == 5:turtle.fd(100)turtle.seth(-92)turtle.fd(120)turtle.seth(88)turtle.fd(120)turtle.seth(120 + 60 * i)turtle.fd(100)jiaodu += 60turtle.seth(jiaodu)turtle.pensize(10)turtle.speed(0)sc = turtle.Screen()sc.bgpic("3.gif")turtle.penup()turtle.goto(-0, 0)turtle.pendown()#先画个圆turtle.penup()# 移动画笔的坐标turtle.goto(0, -200)turtle.pendown()# turtle.color('black')turtle.circle(200)# 画中心六角形jiaodu = 0lianxian = 0turtle.begin_fill()neibu(jiaodu, lianxian)turtle.end_fill()#中心五角星,可删turtle.color('#D9006C')turtle.begin_fill()# turtle.fillcolor((1,1,1))turtle.penup()turtle.goto(-60, 15)turtle.pendown()wujiao()turtle.end_fill()# 于此结束turtle.color('black')turtle.hideturtle()turtle.done()

如果觉得《turtle画图实现阿根廷足球》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。