表白烟花代码

表白烟花代码,第1张

天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀。

python炫酷烟花表白源代码

这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:

学完本教程后,你也能做出这样的烟花秀。

整体概念梳理

我们的整个理念比较简单。

我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。

学完本教程后,你也能做出这样的烟花秀。

如上图示,我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。

经过一定时间后,粒子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。

基本知识:用Python和Tkinter设计烟花。

这里不再一股脑把数学知识全丢出来,我们边写代码边说理论。首先,确保你安装和导入了Tkinter,它是Python的标准GUI库,广泛应用于各种各样的项目和程序开发,在Python中使用Tkinter可以快速的创建GUI应用程序。

import tkinter as tk

from PIL import Image, ImageTk

from time import time, sleep

from random import choice, uniform, randint

from math import sin, cos, radians

除了Tkinter之外,为了能让界面有漂亮的背景,我们也导入PIL用于图像处理,以及导入其它一些包,比如time,random和math。它们能让我们更容易的控制烟花粒子的运动轨迹。

Tkinter应用的基本设置如下:

root = tkTk()

为了能初始化Tkinter,我们必须创建一个Tk()根部件(root widget),它是一个窗口,带有标题栏和由窗口管理器提供的其它装饰物。该根部件必须在我们创建其它小部件之前就创建完毕,而且只能有一个根部件。

w = tkLabel(root, text="Hello Tkinter!")

这一行代码包含了Label部件。该Label调用中的第一个参数就是父窗口的名字,即我们这里用的"根”。关键字参数"text”指明显示的文字内容。你也可以调用其它小部件:Button,Canvas等等。

wpack()

rootmainloop()

接下来的这两行代码很重要。这里的打包方法是告诉Tkinter调整窗口大小以适应所用的小部件。窗口直到我们进入Tkinter事件循环,被rootmainloop()调用时才会出现。在我们关闭窗口前,脚本会一直在停留在事件循环。

将烟花绽放转译成代码

现在我们设计一个对象,表示烟花事件中的每个粒子。每个粒子都会有一些重要的属性,支配了它的外观和移动状况:大小,颜色,位置,速度等等。

年轻的男女朋友们,明天又是一个相当重要的日子:520,不知道是从啥时候开始兴起来的,虽然很多单身的人一看到这个几日就觉得闹心,但也有很大一部分单身人士等待着明天的好机会,毕竟天时地利,这么好的日子一定好好珍惜的。

表白的套路很多,但都少不了送花送礼物,作为一个程序员,搞不懂现在流行的泡泡机、小猪、重力感应车等玩具,也不想去让朋友们去送钱炫耀,毕竟真情才重要,钱就物质了。我能给各位单身粉丝们做的可能就只有分享几个表白代码了,在电脑上敲上几行代码,让她在郁闷的周一得到一个大大的惊喜,很简单,一看就会,如果现在用不到也不要紧,先收藏起来,反正这样的节日很多,以后用的时候能找到。

由简到繁,先来五个。

1、浏览器标签法

这个先用不到代码,但却十分简单实用的,首先早一步到办公室,或者趁表白对象不注意的时候在她的电脑上安装chrome浏览器,设置成默认的浏览器,把各项的同步功能打开就可以了。然后选择一个合适的时机,在你的电脑上登录账号,然后标签栏添加你想说的话,例如下图这样:

然后标签就自动同步到表白对象的浏览器上了。

2、两个按键组合成I LOVE U

这个简单的功能是利用的网页查找的功能,在网页中复制下这段文字,

然后crtrl+f,在输入框中输入9,然后回车,看下效果:

3、Python表白代码

心型和圆形椭圆的代码类似,都是由X,Y上的点构成的曲线,确定出一个表达式expression,然后就是两个for循环(for y in range;for x in range),然后逐行逐列的开始就行了。

当然有点太单调,我们可以这样操作一下,让他动起来,像这样

print('\n'join([''join([('Love'[(x-y) % len('Love')] if ((x005)2+(y01)2-1)3-(x005)2(y01)3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

当然还能替换表情,这个代码就不放了,需要的直接跟我要就行。

4、炫酷一点的

C语言诠释爱——为TA写下心中情,生成程序传给TA,TA点开程序就懂你。

这个开始的时候会展示出表白对象的名字,接着就是最重要的烟花部分,为了让烟花显得更加真实,需要附加重力效果和空气阻力效果,源代码图如下

如果需要源码的留下邮乡就可以了。

5、恶搞一点的

这个适合关系已经不错的那种了,看看效果

源码直接发

最后再放1个代码表白的图,同样代码无法放出来,但是可以直接用,需要的朋友下方留言。

这些代码在程序员朋友眼里一定是很简单的,而且程序员一般都不会用,因为他们的对象不需要表白,NEW一个就可以。新手可以慢慢学,才有成就感了,也会很惊喜哦。

JAVA

传说中规范的爱情代码(2010-11-10 21:37:36)

转载

标签:it

private final static DEPOSIT = 100000;

private final static FELLING = 8;

public void love(boy, girl) {

Boolean isMarried = false;

if(boy有房() &&boy有车()) {

doMarry(boy, girl);

isMarried = true;

} else if(girl愿意等()) {

while(!(boy赚钱 > DEPOSIT && girl感情 > FELLING)) {

for(int day=1; day <=365; day++) {

if( day == 情人节 ) {

if(boygivegirl(玫瑰)) {

girl感情++;

} else {

girl感情--;

}

}

if(day == girl生日) {

if( boygivegirl(玫瑰) )

{

girl感情++;

}

else {

girl感情--;

boy拼命赚钱();

}

}

}

if(boy有房() && boy有车()) {

doMarry(boy, girl);

isMarried = true;

break;

}

年龄++;

girl感情--;

}

}

if(!IsMarried) {

girlgoto(another_boy);

}

private void doMarry(boy, girl) {

boyset(nothing);

girl嫁给(boy);

}

欢迎分享,转载请注明来源:表白网

原文地址:http://h5.hunlipic.com/biaobai/4161213.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-20
下一篇2024-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存