回忆起我们的点点滴滴,我们也有美好回忆。程序员应该如何表白呢 ?很大一部分是不够自信,怕穷,怕拒绝,其实更多的你可能需要的是一份勇气,爱,要大声说出来!恰逢官方正文,在此总结一下我们的点点滴滴,平凡而又伟大。
目录
我们是如何相恋
我和女朋友以前是高中补习在一起的同学,以前很不熟悉,只是课间休息在走廊里偶尔能见到,属于一个班,那是个当地私立学校,管理比较严,平时只能好好学习。上大学我们不在一个地方,她在黄山,我在北京这边,大三的时候在QQ空间经常评论一些她的回复,日久生情。当然那种语言属于经常看头条的励志短语,情话之类的,有挑逗的意味。终于,18年6月1日,她决定来北京和我奔现啦,这也算网恋吧。当时我还在学习java培训课程,已经培训到尾声啦,刚好6月1号放假几天,给她定了7天的宾馆。培训课程一天就两个小时左右,一天中不做作业就去找她,然后大学当天有课的话也会去上课,顺路在小摊或者饭店给她买点水果,饭和小吃。一天下来还是很忙碌的,三个地点(培训班、学校、宾馆)来回跑。就这样充实的度过了7天。她来北京我都是接她,送她。我们约定好,每天都要微信聊天,不能不回复,经常没话题的时候就早安,晚安!刚奔现那会,她脾气还很不稳定,经常跟我生气,我还不知道如何哄女孩子,只能厚着脸皮死缠烂打,她很多时候都被我感动了,这也算解决问题的一种方式吧。
大四那会,她去杭州西子宾馆实习去啦,旅游管理专业,我是电子商务专业,我培训已经搞完了,还没来得及找工作,一边做毕设,一边兼职的那种状态,寒假暑假就得17个小时的火车从北京到杭州。
你以为我当时的心情?
开车去女朋友家
实际上我的心情:
坐上飞机✈️来看你
异地恋太痛苦啦,节假日都得买礼物,车费,住宿费等对一个大学生来说还是一笔不小的开销。就这样,我们坚持下来啦,她大学毕业后就跑来北京找我啦,就这样我们就一直在一起奋斗啦,虽然在北京租房搬迁了几次,但是一次比一次好,第一次我自己只租了很小的一个房间,后来又租了一个比较大的房子,但是不卫生,有蟑螂,再到后来就搞了一个50平方的一居室。两个人住着很舒服,不用和别人合租,不用排队上厕所,不用等别人收拾厨房等。
程序员应该如何和女朋友相处
1.每天看一个笑话,然后讲给女朋友听,逗她哈哈大笑,欢乐开怀;
2.不要整天呆在电脑前,上网、游戏、看新闻、编程,应该停下来,碰女朋友闹闹磕,聊聊天,女人是需要陪的,尤其结婚前;
3.不要给她讲太多因为所以,这不是编程世界里If Then,有时候天马行空的交谈更能够拉近彼此的距离;
4.不要除了你的技术世界,你的IT世界,你啥都不知道,可以关注一下时下流行什么服装,流行什么音乐,真的,外面的世界很精彩,这样你可以跟女友有更多的共同话题;
5.别太计较女朋友有时候发发脾气,任性,吃醋;
6.跟女朋友有观点上的冲突,或者处理事情的方式上不一致的时候,别太较真,顺着就是了,都是一家人,咋男人得有胸怀和气量;
7.别整天盘算着,怎么买房,买车,省钱啊,省钱,其实你给她买一件衣服,一个礼物,一束玫瑰花来得实惠,更能够获得她芳心和喜悦,人搞定了,她帮你,攒钱,买房买车;
8.懂得制造点浪漫,实在不知道,就百度搜一下吧,然后具体操刀演练;
9.衣服要穿干净点,周整点,让人看上去是一个清清爽爽,干干净净的小伙子;
在公司里,也许老板更看重你是否干活,技术功底是否扎实,是否能解决问题,但小姑娘可是看外表,看形象的,其实,我们不也是看姑娘的长相,打扮是否漂亮吗?
10.有时候,多倾听女朋友倾诉,远比自己讲,效果要强很多;
咱们作为程序员本来话就不多,但不时应声附和,恰到好处的点评,真是事半功倍啊。
如果你觉得我说的有道理,请关注这个文绉绉的程序员:孙叫兽
孙叫兽的博客
我是如何在情人节用代码表白的
效果图:(这个是动态的,我就不做gif或者录视频啦)
项目结构:
HTML:
-
<!DOCTYPE html>
-
-
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
<title>我爱你
</title>
-
<link type="text/css" rel="stylesheet" href="renxi/default.css">
-
<script type="text/javascript" src="renxi/jquery.min.js">
</script>
-
<script type="text/javascript" src="renxi/jscex.min.js">
</script>
-
<script type="text/javascript" src="renxi/jscex-parser.js">
</script>
-
<script type="text/javascript" src="renxi/jscex-jit.js">
</script>
-
<script type="text/javascript" src="renxi/jscex-builderbase.min.js">
</script>
-
<script type="text/javascript" src="renxi/jscex-async.min.js">
</script>
-
<script type="text/javascript" src="renxi/jscex-async-powerpack.min.js">
</script>
-
<script type="text/javascript" src="renxi/functions.js" charset="utf-8">
</script>
-
<script type="text/javascript" src="renxi/love.js" charset="utf-8">
</script>
-
<style type="text/css">
-
<!--
-
.STYLE1 {
-
color: #666666
-
}
-
-->
-
</style>
-
</head>
-
<body>
-
<audio autoplay="autopaly">
-
<source src="renxi.mp3" type="audio/mp3" />
-
</audio>
-
<div id="main">
-
<div id="error">本页面采用HTML5编辑,目前您的浏览器无法显示,请换成谷歌(
<a href="http://www.google.cn/chrome/intl/zh-CN/landing_chrome.html?hl=zh-CN&brand=CHMI">Chrome
</a>)或者火狐(
<a href="http://firefox.com.cn/download/">Firefox
</a>)浏览器,或者其他游览器的最新版本。
</div>
-
<div id="wrap">
-
<div id="text">
-
<div id="code">
<font color="yellow">
<span class="say">亲爱的梅梅,我爱你
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say"> 我知道我不会甜言蜜语,
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say"> 但是我会用行动证明一切
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say">你说我啰嗦,
</span>
<br>
-
<span class="say"> 有些东西因为越在乎所以越怕失去
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say">因为我太爱你了,所以我害怕失去你
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say">因为我太爱你了,所以我对你总啰嗦
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say">希望可以执子之手,与子偕老
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say">如果上天让我许三个愿望,
</span>
<br>
-
<span class="say">第一个是今生今世和你在一起,
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say"> 第二个是再生再世和你在一起,
</span>
<br>
-
<span class="say">
</span>
<br>
-
<span class="say">第三个是永生永世和你不分离
</span>
<br>
-
<span class="say">
<span class="space">
</span> -- 爱你的老公
</span>
</font>
-
<br />
-
<br />
-
</p>
-
</div>
-
</div>
-
-
<div id="clock-box">
<span class="STYLE1">
</span>
<font color="yellow">亲爱的梅梅,我爱你
</font>
<span class="STYLE1">已经是……
</span>
-
<div id="clock">
</div>
-
</div>
-
<canvas id="canvas" width="1100" height="680">
</canvas>
-
</div>
-
</div>
-
<script>
-
</script>
-
<script>
-
(
function () {
-
var canvas = $(
'#canvas');
-
-
if (!canvas[
0].getContext) {
-
$(
"#error").show();
-
return
false;
-
}
-
-
var width = canvas.width();
-
var height = canvas.height();
-
canvas.attr(
"width", width);
-
canvas.attr(
"height", height);
-
var opts = {
-
seed: {
-
x: width /
2 -
20,
-
color:
"rgb(190, 26, 37)",
-
scale:
2
-
},
-
branch: [
-
[
535,
680,
570,
250,
500,
200,
30,
100, [
-
[
540,
500,
455,
417,
340,
400,
13,
100, [
-
[
450,
435,
434,
430,
394,
395,
2,
40]
-
]],
-
[
550,
445,
600,
356,
680,
345,
12,
100, [
-
[
578,
400,
648,
409,
661,
426,
3,
80]
-
]],
-
[
539,
281,
537,
248,
534,
217,
3,
40],
-
[
546,
397,
413,
247,
328,
244,
9,
80, [
-
[
427,
286,
383,
253,
371,
205,
2,
40],
-
[
498,
345,
435,
315,
395,
330,
4,
60]
-
]],
-
[
546,
357,
608,
252,
678,
221,
6,
100, [
-
[
590,
293,
646,
277,
648,
271,
2,
80]
-
]]
-
]]
-
],
-
bloom: {
-
num:
700,
-
width:
1080,
-
height:
650,
-
},
-
footer: {
-
width:
1200,
-
height:
5,
-
speed:
10,
-
}
-
}
-
-
var tree =
new Tree(canvas[
0], width, height, opts);
-
var seed = tree.seed;
-
var foot = tree.footer;
-
var hold =
1;
-
-
canvas.click(
function (e) {
-
var offset = canvas.offset(), x, y;
-
x = e.pageX - offset.left;
-
y = e.pageY - offset.top;
-
if (seed.hover(x, y)) {
-
hold =
0;
-
canvas.unbind(
"click");
-
canvas.unbind(
"mousemove");
-
canvas.removeClass(
'hand');
-
}
-
}).mousemove(
function (e) {
-
var offset = canvas.offset(), x, y;
-
x = e.pageX - offset.left;
-
y = e.pageY - offset.top;
-
canvas.toggleClass(
'hand', seed.hover(x, y));
-
});
-
-
var seedAnimate =
eval(Jscex.compile(
"async",
function () {
-
seed.draw();
-
while (hold) {
-
$await(Jscex.Async.sleep(
10));
-
}
-
while (seed.canScale()) {
-
seed.scale(
0.95);
-
$await(Jscex.Async.sleep(
10));
-
}
-
while (seed.canMove()) {
-
seed.move(
0,
2);
-
foot.draw();
-
$await(Jscex.Async.sleep(
10));
-
}
-
}));
-
-
var growAnimate =
eval(Jscex.compile(
"async",
function () {
-
do {
-
tree.grow();
-
$await(Jscex.Async.sleep(
10));
-
}
while (tree.canGrow());
-
}));
-
-
var flowAnimate =
eval(Jscex.compile(
"async",
function () {
-
do {
-
tree.flower(
2);
-
$await(Jscex.Async.sleep(
10));
-
}
while (tree.canFlower());
-
}));
-
-
var moveAnimate =
eval(Jscex.compile(
"async",
function () {
-
tree.snapshot(
"p1",
240,
0,
610,
680);
-
while (tree.move(
"p1",
500,
0)) {
-
foot.draw();
-
$await(Jscex.Async.sleep(
10));
-
}
-
foot.draw();
-
tree.snapshot(
"p2",
500,
0,
610,
680);
-
-
// 会有闪烁不得意这样做, (>﹏<)
-
canvas.parent().css(
"background",
"url(" + tree.toDataURL(
'image/png') +
")");
-
canvas.css(
"background",
"#ffe");
-
$await(Jscex.Async.sleep(
300));
-
canvas.css(
"background",
"none");
-
}));
-
-
var jumpAnimate =
eval(Jscex.compile(
"async",
function () {
-
var ctx = tree.ctx;
-
while (
true) {
-
tree.ctx.clearRect(
0,
0, width, height);
-
tree.jump();
-
foot.draw();
-
$await(Jscex.Async.sleep(
25));
-
}
-
}));
-
-
var textAnimate =
eval(Jscex.compile(
"async",
function () {
-
var together =
new
Date();
-
together.setFullYear(
2018,
6,
1);
//时间年月日
-
together.setHours(
16);
//小时
-
together.setMinutes(
53);
//分钟
-
together.setSeconds(
0);
//秒前一位
-
together.setMilliseconds(
2);
//秒第二位
-
-
$(
"#code").show().typewriter();
-
$(
"#clock-box").fadeIn(
500);
-
while (
true) {
-
timeElapse(together);
-
$await(Jscex.Async.sleep(
1000));
-
}
-
}));
-
-
var runAsync =
eval(Jscex.compile(
"async",
function () {
-
$await(seedAnimate());
-
$await(growAnimate());
-
$await(flowAnimate());
-
$await(moveAnimate());
-
-
textAnimate().start();
-
-
$await(jumpAnimate());
-
}));
-
-
runAsync().start();
-
})();
-
</script>
-
-
-
</body>
-
</html>
完整代码下载地址
最后,祝愿大家都能找到自己的另一半,不管你对象是程序员还是非程序员,能臭味相投,一起面对生活的风风雨雨,你耕田来,我织布那样,遇见更好的自己,勇于迈出那一步,不管自己处于啥阶段,在合适的时间遇到合适的人挺难的,爱她,就给她穿上婚纱!
转载:https://blog.csdn.net/weixin_41937552/article/details/113759284