您好!欢迎来到北极熊

北极熊

热门搜索: 任正非传    神雕侠侣    红楼梦   

用python的turtle,画爱心,表白,求婚完整代码,海龟作图创意

分类:技术交流 时间:2020-10-29 12:14 浏览:314
概述
当我们学了turtle后,就想尝试为自己心里喜欢的人画一颗一颗爱心,想用代码逗自己的小猪猪女孩开心,表达自己的爱意,那么福利来了,动动小手指,复制粘贴即可,不过有些地方需要适当修改,快给自己心爱的女孩看看吧?!!!import turtleimport time# 实现清屏def clear_screen():    turtle.penup()          
内容

当我们学了turtle后,就想尝试为自己心里喜欢的人画一颗一颗爱心,想用代码逗自己的小猪猪女孩开心,表达自己的爱意,那么福利来了,动动小手指,复制粘贴即可,不过有些地方需要适当修改,快给自己心爱的女孩看看吧💖!!!

import turtleimport time# 实现清屏def clear_screen():
   turtle.penup()             #画笔抬起
   turtle.goto(0,0)        #定位到(0,0)
   turtle.color('white')
   turtle.pensize(800)         #画笔粗细
   turtle.pendown()           #画笔落下
   turtle.setheading(0)        #设置朝向
   turtle.fd(300)       #前进
   turtle.bk(600)      #后退# 初始化海龟的位置def go_start(x, y, state):
   turtle.pendown() if state else turtle.penup()
   turtle.goto(x, y)#画线,state为真时海龟回到原点,为假时不回到原来的出发点def draw_line(length, angle, state):
   turtle.pensize(1)
   turtle.pendown()
   turtle.setheading(angle)
   turtle.fd(length)
   turtle.bk(length) if state else turtle.penup()
   turtle.penup()# 画出发射爱心的小人def draw_people(x, y):
   turtle.penup()
   turtle.goto(x, y)
   turtle.pendown()
   turtle.pensize(2)
   turtle.color('black')
   turtle.setheading(0)
   turtle.circle(35, 360)
   turtle.penup()
   turtle.pensize(3)
   turtle.setheading(90)
   turtle.fd(45)
   turtle.setheading(180)
   turtle.fd(20)
   turtle.setheading(0)
   turtle.fd(35)
   turtle.pendown()
   turtle.circle(4, 360)
   turtle.penup()
   turtle.goto(x, y)
   turtle.pensize(2)
   turtle.setheading(0)
   turtle.fd(20)
   turtle.setheading(90)
   turtle.fd(20)
   turtle.setheading(-90)
   turtle.pendown()
   turtle.circle(5, 180)
   turtle.penup()
   turtle.goto(x, y)
   turtle.setheading(-90)
   turtle.pendown()
   turtle.fd(20)
   turtle.setheading(0)
   turtle.fd(35)
   turtle.setheading(60)
   turtle.fd(10)
   turtle.penup()
   turtle.goto(x, y)
   turtle.setheading(-90)
   turtle.pendown()
   turtle.fd(40)
   turtle.setheading(0)
   turtle.fd(35)
   turtle.setheading(-60)
   turtle.fd(10)
   turtle.penup()
   turtle.goto(x, y)
   turtle.setheading(-90)
   turtle.pendown()
   turtle.fd(60)
   turtle.setheading(-135)
   turtle.fd(60)
   turtle.bk(60)
   turtle.setheading(-45)
   turtle.fd(30)
   turtle.setheading(-135)
   turtle.fd(35)
   turtle.penup()# 画爱心def draw_heart(size):
   turtle.color('red', 'pink')
   turtle.pensize(2)
   turtle.pendown()
   turtle.setheading(150)
   turtle.begin_fill()
   turtle.fd(size)
   turtle.circle(size * -3.745, 45)
   turtle.circle(size * -1.431, 165)
   turtle.left(120)
   turtle.circle(size * -1.431, 165)
   turtle.circle(size * -3.745, 45)
   turtle.fd(size)
   turtle.end_fill()# 画箭羽def draw_feather(size):
   angle = 30  # 箭的倾角
   feather_num = size // 6    # 羽毛的数量
   feather_length = size // 3     # 羽毛的长度
   feather_gap = size // 10     # 羽毛的间隔
   for i in range(feather_num):
       draw_line(feather_gap, angle + 180, False)  # 箭柄,不折返
       draw_line(feather_length, angle + 145, True)  # 羽翼,要折返
   draw_line(feather_length, angle + 145, False)
   draw_line(feather_num * feather_gap, angle, False)
   draw_line(feather_length, angle + 145 + 180, False)
   for i in range(feather_num):
       draw_line(feather_gap, angle + 180, False)   # 箭柄,不折返
       draw_line(feather_length, angle - 145, True)    # 羽翼,要折返
   draw_line(feather_length, angle - 145, False)
   draw_line(feather_num * feather_gap, angle, False)
   draw_line(feather_length, angle - 145 + 180, False)# 画一箭穿心,最后箭的头没有画出来,用海龟来代替def arrow_heart(x, y, size):
   go_start(x, y, False)
   draw_heart(size * 1.15)
   turtle.setheading(-150)
   turtle.penup()
   turtle.fd(size * 2.2)
   draw_heart(size)
   turtle.penup()
   turtle.setheading(150)
   turtle.fd(size * 2.2)
   turtle.color('black')
   draw_feather(size)
   turtle.pensize(4)
   turtle.setheading(30)
   turtle.pendown()
   turtle.fd(size * 2)
   turtle.penup()
   turtle.setheading(29)
   turtle.fd(size * 5.7)
   turtle.color('black')
   turtle.pensize(4)
   turtle.pendown()
   turtle.fd(size * 1.2)#显示倒数3,2,1def draw_0(i):
   turtle.speed(0)
   turtle.penup()
   turtle.hideturtle()  # 隐藏箭头显示
   turtle.goto(-50, -100)
   turtle.color('red')
   write = turtle.write(i, font=('宋体', 200, 'normal'))
   time.sleep(1)# 显示文字def draw_1():
   turtle.penup()
   turtle.hideturtle()    #隐藏箭头显示
   turtle.goto(-250, 0)
   turtle.color('red')
   write = turtle.write('臭猪猪,接招', font=('宋体', 60, 'normal'))
   time.sleep(2)# 显示发射爱心的小人儿def draw_2():
   turtle.speed(3)
   draw_people(-250, 20)
   turtle.penup()
   turtle.goto(-150, -30)
   draw_heart(14)
   turtle.penup()
   turtle.goto(-20, -60)
   draw_heart(25)
   turtle.penup()
   turtle.goto(205, -100)
   draw_heart(43)
   turtle.hideturtle()
   time.sleep(2)def draw_3():
   turtle.penup()
   turtle.hideturtle()  # 隐藏箭头显示
   turtle.goto(-220, 50)
   turtle.color('red')
   write = turtle.write('💕不离', font=('宋体', 60, 'normal'))
   turtle.penup()
   turtle.goto(0, -50)
   write = turtle.write('不弃💕', font=('宋体', 60, 'normal'))
   time.sleep(2)# 显示一箭穿心def draw_4():
   turtle.speed(10)
   turtle.penup()
   turtle.goto(-210, -200)
   turtle.color('blue')
   turtle.pendown()
   turtle.write('YRB      CQZ', font=('wisdom', 50, 'normal'))
   turtle.speed(1)
   turtle.penup()
   turtle.color("red")
   turtle.goto(-31, -200)
   turtle.write('❤',font=('wisdom', 50, 'normal'))
   arrow_heart(20, -60, 51)
   turtle.showturtle()number=[3,2,1]    #储存显示界面倒数数字1,2,3if __name__ == '__main__':
   turtle.setup(900, 500)     #调画布的尺寸
   for i in number:
       draw_0(i)
       clear_screen()
   draw_1()
   clear_screen()
   draw_2()
   clear_screen()
   draw_3()
   clear_screen()
   draw_4()
   turtle.done()123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229

部分效果展示:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


评论
资讯正文页右侧广告
联系我们
电话:18936411277
邮箱:1044412291@qq.com
时间:09:00 - 19:00
公众号:北格软件
底部广告