近日,一个00后程序员写代码让女朋友甚是感到暖心,这个女朋友天天喜欢网购各种各样的产品,有时也会为了买的便宜用一些优惠券之类的,但是因为网购优惠的方式太多,难免会有些疏漏,做一些无用功夫,很懊恼。于是程序员男友就给女友做了一个小软件,专门检测这个产品什么时间点最便宜,小程序就会弹出一个小爱心,表示最便宜事宜买,女朋友就觉得男朋友好浪漫。
不得不说,这样的做法确实能让女朋友开心,这个女朋友说男朋友平时就喜欢敲代码和玩一些游戏,没有其他的爱好了,他看到女孩子有时的烦恼,就想办法给他解决了这个问题,真的很暖心,很懂她。谁说程序员男生都比较古板,木讷,看看这个男孩子还真的是懂得怎样讨女孩子欢心,他的重点在于解决了女孩子的烦恼,并表达的直观,浪漫。
我们印象里面程序员的生活就是两点一线,很中规中矩的,没有什么多余的想法,他们只是对代码感兴趣,而这个女孩子的男朋友却让人对程序员另眼相待了。其实之前就有一个事例,一个程序员男朋友惹了自己的女朋友不开心,于是想发设发的道歉,女朋友就是不理,最后程序员在电脑上做了一个道歉的小程序,最后把女友逗的不得不原谅,电脑才正常,真的是很搞笑。
其实两个相爱的人,有能力爱的人都是会浪漫的,只看那个人是否有心去逗你开心,如果不是特别爱,他可能就没有那么多心思去维护感情,而深爱的人才愿意花心思去解你的忧愁。程序员的生活和工作给人刻板的印象,当然懂得取悦自己的爱人也大有人在。
#define IdYes 1002
#define IdNo 1003
#define IdStatic 1004
#define IdTimer 1005
#define Width 640
#define Height 480
#define Tick 2000
#include<windowsh>
int x,y;
RECT rdesk;
HINSTANCE hinst;
HWND hyes,hno;
BOOL quit=FALSE;
LRESULT CALLBACK WndProc(HWND hwnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rclient;
HBRUSH hbrbkgnd;
static COLORREF c;
static BYTE r,g,b;
switch(Message)
{
case WM_TIMER:
if(IdTimer==LOWORD(wParam))
{
r=(BYTE)(rand()%256);
g=(BYTE)(rand()%256);
b=(BYTE)(rand()%256);
c=RGB(r,g,b);
InvalidateRect(hwnd,NULL,TRUE);
UpdateWindow(hwnd);
}
break;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
hbrbkgnd=CreateSolidBrush(c);
SelectObject(hdc,hbrbkgnd);
GetClientRect(hwnd,&rclient);
FillRect(hdc,&rclient,hbrbkgnd);
DeleteObject(hbrbkgnd);
EndPaint(hwnd,&ps);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IdYes:
quit=TRUE;
MessageBox(hwnd,TEXT("回答正确,太太太好了!"),TEXT("宝贝"),MB_ICONEXCLAMATION|MB_OK);
SendMessage(hwnd,WM_CLOSE,0,0);
break;
case IdNo:
MessageBox(hwnd,TEXT("回答错误哦,我很生气呢!"),TEXT("宝贝"),MB_ICONEXCLAMATION|MB_OK);
break;
}
break;
case WM_SIZE:
case WM_MOVE:
SetWindowPos(hwnd,HWND_TOPMOST,x,y,Width,Height,SWP_SHOWWINDOW);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_CLOSE:
if(quit)
{
KillTimer(hwnd,IdTimer);
DestroyWindow(hwnd);
}
break;
case WM_CREATE:
CreateWindow(TEXT("Static"),
TEXT("请回答:做我女朋友好吗?"),
WS_CHILD|WS_VISIBLE|SS_CENTER,
200,
200,
240,
20,
hwnd,
(HMENU)IdStatic,
hinst,
NULL
);
hyes=CreateWindow(TEXT("Button"),
TEXT("好"),
WS_CHILD|WS_VISIBLE|BS_CENTER,
270,
230,
45,
20,
hwnd,
(HMENU)IdYes,
hinst,
NULL
);
hno=CreateWindow(TEXT("Button"),
TEXT("不好"),
WS_CHILD|WS_VISIBLE|BS_CENTER,
325,
230,
45,
20,
hwnd,
(HMENU)IdNo,
hinst,
NULL
);
SetTimer(hwnd,IdTimer,Tick,NULL);
break;
default:
return DefWindowProc(hwnd,Message,wParam,lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASSEX wc;
HWND hwnd;
MSG msg;
hinst=hInstance;
srand(time(NULL));
memset(&wc,0,sizeof(wc));
wccbSize=sizeof(WNDCLASSEX);
wclpfnWndProc=WndProc;
wchInstance=hInstance;
wchCursor=LoadCursor(NULL,IDC_ARROW);
wchbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wclpszClassName=TEXT("WindowClass");
wchIcon=LoadIcon(NULL,IDI_APPLICATION);
wchIconSm=LoadIcon(NULL,IDI_APPLICATION);
if(!RegisterClassEx(&wc))
{
MessageBox(NULL,TEXT("窗口注册失败!"),TEXT("错误"),MB_ICONEXCLAMATION|MB_OK);
return 0;
}
GetWindowRect(GetDesktopWindow(),&rdesk);
x=(rdeskright-Width)/2;
y=(rdeskbottom-Height)/2,
hwnd = CreateWindowEx(WS_EX_TOPMOST,
TEXT("WindowClass"),
TEXT("I Love You"),
WS_THICKFRAME|WS_VISIBLE,
x,
y,
Width,
Height,
NULL,NULL,hInstance,NULL);
if(NULL==hwnd)
{
MessageBox(NULL,TEXT("窗口创建失败!"),TEXT("错误!"),MB_ICONEXCLAMATION|MB_OK);
return 0;
}
while(GetMessage(&msg,NULL,0,0)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msgwParam;
}
截图
html文件笔记本什么的都可以修改,可以直接以浏览器运行,但是一个网站和一个网页差别很大的,一般网上有模版,懂点html都可以修改,这个不难,做个网页用一模板修改就行,可以自己上网找然后修改。一般有这个代码就可以了。
你需要的是编译器,比如TurboC,MSC,或者VC等等,你写的C代码只是源程序而已,需要经过C编译器编译成可执行的EXE文件。C编译器有很多,上面提到的就是比较常用的,至于编译器的使用,你得另查一查使用手册,一般而言,编译器都带有IDE的集成编程环境,可以作为程序的编辑器(别把编辑器和编译器弄混了,编辑器就是可以输入源代码的软件工具,如记事本就是一个最简单的编辑器,编译器就是用于编译特定语言源代码的软件),然后一般都有一个编译(Compile)按钮(或者编译命令),编译时编译器会检查你的源代码是否有语法错误,如果没有错误,还会使用链接(Link)工具将你的程序链接成为可执行的Exe文件,至此,你的源程序就成了可运行的程序了。运行EXE文件是不用源代码的,它与编写程序的语言无关,各种编程语言写成的源程序经过该编程语言的编译器可以被编译成在计算机上可以被运行的执行程序。
天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀。
python炫酷烟花表白源代码
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:
学完本教程后,你也能做出这样的烟花秀。
整体概念梳理
我们的整个理念比较简单。
我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。
追女孩最重要的是什么?
相貌平平,追女生,重要的是什么?是坚持,记得以前有这样一件事,男生喜欢一个女孩,坚持追了29天,到第30天的时候,男孩没有再像往常那样出现,也正是这天,女孩心里想,如果今天还来了,我就答疑他,就这样,错过将是错过;当然在恋爱中也会有很多因素,如果没有让女生倒追的资本,
在这个人人都在秀情商的时候,做为程序员我们也要操作起来!散发我们的荷尔蒙!今天就大家奉献上最强表白程序!此程序结合数据抓取 + 微信自动发消息 + 定时任务,实现一个能每天自动定时给你心爱的 ta 发送:你们相识相恋天数 + 情话 + 我爱你的。具体的消息如下。
每天要发送给她的信息如下:
这里需要填写的第一个字段是 ta 的称呼,inLoveDays 为你们相识相恋的天数。
love_word 是每天为 ta 精心准备情话内容,当然如果你的文笔好也可以自己写
最后也是最重要的!每天不尽相同「我爱你」的!
实现思路
本次程序运行的环境是 windows10 + Python 36,此次主要用到的库有 selenium、itchat、request。程序主要分为两部分第一数据的抓取,一些情话信息和信息。另一部就是利用 itchat 自动发送消息给你的好友。
情话信息
如果对你的文笔有信心,可以自己写每天的情话。当然大部分人的文笔跟我一样的,那我们就利用网络上的情话啦!
表白资源
为了配合此次表白程序,我专门去找了些带有「我爱你」的资源。通过一些贴吧的贴子,我们就可以获取到大量的这样资源。
程序源码
此次表白程序主要有 5 个函数
crawl_Love_words()
此函数通过 selenium + xpath 来抓取情话网站的资源,并存入到当前目录下的「love_wordtxt」文件。
crawl_love_image()
此函数用来爬取贴吧带有「我爱你」的资源,通过 request + re 来实现。代码并不复杂,在正则表达式那也简单的写了一个,用来匹配当前也所有的资源。
mkdir(path)
此函数用来在当前目录下创建一个新的文件夹,以便存储相应的数据。
send_new()
此函数通过利用 itchat 库,实现给你的微信好友自动发送消息。在这个函数中我利用 datetime 来计算你们之间相识相恋的时间。并且在登录的时候添加了一个「hotReload=True」,这样你就可以不用每次运行程序的时候都要登录。关于 itchat 更多的操作,大家可以去网上查找相应的资料。
main()
main() 函数就是我们主逻辑函数,程序运行的逻辑顺序就是在这个函数里规定的。在 main() 里我首先判断下当前路径下是否有「love_wordtxt」文件,如果有则提示相应的信息,没有的话才去执 crawl_Love_words() 函数,去网上抓取一些情话数据。
其次再判断下当前目录下是否有「img」文件夹,用来判断我们是否有资源,没有则执行 crawl_love_image() 来抓取贴吧上的资源。
最后我们所需的数据都已准备完善,则调用 send_news() 函数,整理下要发送的数据格式,然后自动给你的 ta 发送消息。
定时任务
每天定时发送我主要是用 while True 简单的实现,通过判断当前的时间是否是你所需要发送的时间,来达到每天定时发送。
表白程序使用教程
首先你把相应的源码下载下来,后台回复「表白」即可获取。其次把相应的库先事先安装好,随后运行程序则会显示一个微信网页登录的二维码,扫描登录即可。
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、恶搞一点的
这个适合关系已经不错的那种了,看看效果
源码直接发
浪漫表白效果:
开发环境:Visual Studio 2019 + EasyX图形库插件即可
源码展示:
以上就是我们表白程序的源码了!最后祝大家都能和喜欢的人在一起哦~
我的C/C++编程学习基地,点击正在跳转「链接」即可加入,欢迎有问题的小伙伴一起进来学习交流嗷~
欢迎分享,转载请注明来源:表白网
评论列表(0条)