赞
踩
先来展示一下效果图:
不知道大家给女朋友的备注是什么?下面看看我的备注。
这是我给女朋友的备注:
再来看看给女朋友一个发射爱心的图片,这个叫“既许一人以偏爱,愿尽余生之慷慨”,
看完了发射爱心,接下来我们来一个更加高级的操作,不好,被丘比特的箭射中了,只能余生“我陪你闹,你陪我笑!”
当然作为程序员,这些效果图不可能是画出来的,进入正题,我们用的是python代码写出来的,下面先附上源代码:
import turtle import 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,1 def 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('super honey!', 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=('wisdom', 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('我陪你闹 你陪我笑。', font=('wisdom', 30, '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,3 if __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()
执行效果到底是怎么样的,可以自己去执行观看,希望不要太惊艳到你。
愿每位程序员再为科技奋斗一生的同时,都有良人相伴,看到后面节日,(圣诞节,跨年,等节日)我觉得我的分享一定会帮到有些人。
希望每个人都可以像诗句里面一样,“昨夜西风凋碧树,独上西楼,望断天涯路”,然后再往下走,“衣带渐宽终不悔,为伊消得人憔悴”,全身心的投入,到最后,“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”如果我们的人生中也能有这样的追求和境界,那是一件多么幸福的事情,愿每个人手里有活,心里有爱,眼下有良人!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。