程序员的 10 款代码表白特效,一个比一个浪漫

提到程序员,就会出现许多关键词,诸如“直男,宅,不懂浪漫,枯燥,憨厚老实,有逻辑,人傻钱多…………”

说程序猿是直男,不可否认,大多数程序猿都挺直,因为我们没有那么多弯弯绕绕,有心思兜圈子,不如回去写几行代码………

程序猿的大多数时间都是面对电脑,所以对待一份感情也会非常的认真。程序猿也许在生活中会比较宅,就比如本人,但是千万不要说程序猿不懂浪漫。当你不开心了,他可以分分钟做出一个玫瑰花、心形等告白小程序给你制造小惊喜…………

程序员一旦浪漫起来,就真没其他人啥事了!接下来就给大家介绍一下程序猿是如何表白收获爱情的………

一、制图表白

1.1玫瑰花

源码如下:

import turtle as t

def Curve_Draw(n,r,d=1):
  for i in range(n):
    t.left(d)
    t.circle(r,abs(d))

s = 0.2
t.setup(450*5*s,750*5*s)
t.pencolor('black')
t.fillcolor('purple')
t.speed(100)
t.penup()
t.goto(0,900*s)
t.pendown()

t.begin_fill()
t.circle(200*s,30)
Curve_Draw(60,50*s)
t.circle(200*s,30)
Curve_Draw(4,100*s)
t.circle(200*s,50)
Curve_Draw(50,50*s)
t.circle(350*s,65)
Curve_Draw(40,70*s)
t.circle(150*s,50)
Curve_Draw(20,50*s,-1)
t.circle(400*s,60)
Curve_Draw(18,50*s)
t.fd(250*s)
t.right(150)
t.circle(-500*s,12)
t.left(140)
t.circle(550*s,110)
t.left(27)
t.circle(650*s,100)
t.left(130)
t.circle(-300*s,20)
t.right(123)
t.circle(220*s,57)
t.end_fill()

t.left(120)
t.fd(280*s)
t.left(115)
t.circle(300*s,33)
t.left(180)
t.circle(-300*s,33)
Curve_Draw(70,225*s,-1)
t.circle(350*s,104)
t.left(90)
t.circle(200*s,105)
t.circle(-500*s,63)
t.penup()
t.goto(170*s,-30*s)
t.pendown()
t.left(160)
Curve_Draw(20,2500*s)
Curve_Draw(220,250*s,-1)

t.fillcolor('green')
t.penup()
t.goto(670*s,-180*s)
t.pendown()
t.right(140)
t.begin_fill()
t.circle(300*s,120)
t.left(60)
t.circle(300*s,120)
t.end_fill()
t.penup()
t.goto(180*s,-550*s)
t.pendown()
t.right(85)
t.circle(600*s,40)

t.penup()
t.goto(-150*s,-1000*s)
t.pendown()
t.begin_fill()
t.rt(120)
t.circle(300*s,115)
t.left(75)
t.circle(300*s,100)
t.end_fill()
t.penup()
t.goto(430*s,-1070*s)
t.pendown()
t.right(30)
t.circle(-600*s,35)
t.done()

1.2爱心

源码如下:

import turtle as t

t.penup()
t.seth(-90)
t.fd(160)
t.pendown()
t.pensize(20)
t.colormode(255)
for j in range(10):
  t.speed(1000)
  t.pencolor(25*j,5*j,15*j)
  t.seth(130)
  t.fd(220)
  for i in range(23):
    t.circle(-80,10)
  t.seth(100)
  for i in range(23):
    t.circle(-80,10)
  t.fd(220)
t.done()

1.3网页爱心树表白

 代码过长,仅展示部分代码:

<body>

<audio autoplay="autopaly">

  <source src="renxi.mp3" type="audio/mp3" />

</audio>

<div id="main">

  <div id="wrap">

    <div id="text">

      <div id="code"> <font color="#FF0000"> <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>

     </font>



      </div>

    </div>

    <div id="clock-box"> <span class="STYLE1"></span><font color="#33CC00">愿得一心人,白首不相离</font> <span class="STYLE1">这简单的话语……</span>

      <div id="clock"></div>

    </div>

    <canvas id="canvas" width="1100" height="680"></canvas>

  </div>

</div>

1.4 烟花表白

1.5网页爱心表白

源码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>爱心</title>
  <style>
    *{margin:0; padding:0;}
    body{ background-color: #1E1E1E;     }
  </style>
</head>
<body>

  <canvas id="drawHeart"></canvas>

  <script>
    var hearts = [];
    var canvas = document.getElementById('drawHeart');
    var wW = window.innerWidth;
    var wH = window.innerHeight;
    // 创建画布
    var ctx = canvas.getContext('2d');
    // 创建图片对象
    var heartImage = new Image();
    heartImage.src = 'img/heart.svg';
    var num = 100;

    init();

    window.addEventListener('resize', function(){
       wW = window.innerWidth;
       wH = window.innerHeight;
    });
    // 初始化画布大小
    function init(){
      canvas.width = wW;
      canvas.height = wH;
      for(var i = 0; i < num; i++){
        hearts.push(new Heart(i%5));
      }
      requestAnimationFrame(render);
    }

    function getColor(){
      var val = Math.random() * 10;
      if(val > 0 && val <= 1){
        return '#00f';
      } else if(val > 1 && val <= 2){
        return '#f00';
      } else if(val > 2 && val <= 3){
        return '#0f0';
      } else if(val > 3 && val <= 4){
        return '#368';
      } else if(val > 4 && val <= 5){
        return '#666';
      } else if(val > 5 && val <= 6){
        return '#333';
      } else if(val > 6 && val <= 7){
        return '#f50';
      } else if(val > 7 && val <= 8){
        return '#e96d5b';
      } else if(val > 8 && val <= 9){
        return '#5be9e9';
      } else {
        return '#d41d50';
      }
    }

    function getText(){
      var val = Math.random() * 10;
      if(val > 1 && val <= 3){
        return '爱你一辈子';
      } else if(val > 3 && val <= 5){
        return '感谢你';
      } else if(val > 5 && val <= 8){
        return '喜欢你';
      } else{
        return 'I Love You';
      }
    }

    function Heart(type){
      this.type = type;
      // 初始化生成范围
      this.x = Math.random() * wW;
      this.y = Math.random() * wH;

      this.opacity = Math.random() * .5 + .5;

      // 偏移量
      this.vel = {
        x: (Math.random() - .5) * 5,
        y: (Math.random() - .5) * 5
      }

      this.initialW = wW * .5;
      this.initialH = wH * .5;
      // 缩放比例
      this.targetScale = Math.random() * .15 + .02; // 最小0.02
      this.scale = Math.random() * this.targetScale;

      // 文字位置
      this.fx = Math.random() * wW;
      this.fy = Math.random() * wH;
      this.fs = Math.random() * 10;
      this.text = getText();

      this.fvel = {
        x: (Math.random() - .5) * 5,
        y: (Math.random() - .5) * 5,
        f: (Math.random() - .5) * 2
      }
    }

    Heart.prototype.draw = function(){
      ctx.save();
      ctx.globalAlpha = this.opacity;
      ctx.drawImage(heartImage, this.x, this.y, this.width, this.height);
      ctx.scale(this.scale + 1, this.scale + 1);
        if(!this.type){
          // 设置文字属性
        ctx.fillStyle = getColor();
          ctx.font = 'italic ' + this.fs + 'px sans-serif';
          // 填充字符串
          ctx.fillText(this.text, this.fx, this.fy);
        }
      ctx.restore();
    }
    Heart.prototype.update = function(){
      this.x += this.vel.x;
      this.y += this.vel.y;

      if(this.x - this.width > wW || this.x + this.width < 0){
        // 重新初始化位置
        this.scale = 0;
        this.x = Math.random() * wW;
        this.y = Math.random() * wH;
      }
      if(this.y - this.height > wH || this.y + this.height < 0){
        // 重新初始化位置
        this.scale = 0;
        this.x = Math.random() * wW;
        this.y = Math.random() * wH;
      }

      // 放大
      this.scale += (this.targetScale - this.scale) * .1;
      this.height = this.scale * this.initialH;
      this.width = this.height * 1.4;

      // -----文字-----
      this.fx += this.fvel.x;
      this.fy += this.fvel.y;
      this.fs += this.fvel.f;

      if(this.fs > 50){
        this.fs = 2;
      }

      if(this.fx - this.fs > wW || this.fx + this.fs < 0){
        // 重新初始化位置
        this.fx = Math.random() * wW;
        this.fy = Math.random() * wH;
      }
      if(this.fy - this.fs > wH || this.fy + this.fs < 0){
        // 重新初始化位置
        this.fx = Math.random() * wW;
        this.fy = Math.random() * wH;
      }
    }

    function render(){
      ctx.clearRect(0, 0, wW, wH);
      for(var i = 0; i < hearts.length; i++){
        hearts[i].draw();
        hearts[i].update();
      }
      requestAnimationFrame(render);
    }
  </script>
</body>
</html>

二、程序语言表白

2.1程序语言表白一

2.2程序语言表白二

2.3程序语言表白三

2.4程序语言表白四

如果你也喜欢编程,想学C/C++的话!如果你也想让自己成为一个具有真材实料的厉害的程序员,不妨从现在开始!

C语言C++编程学习交流圈子,QQ群:829164294点击进入】微信公众号:C语言编程学习基地

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习视频分享:

  • 247
    点赞
  • 1935
    收藏
    觉得还不错? 一键收藏
  • 53
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值