page contents

程序员也懂浪漫,3款有趣的编程表白代码

程序员也懂浪漫,六星小编分享3款有趣的编程表白代码,快拿去用吧!

attachments-2021-12-i2BmTklY61b6a2ab4b199.png

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

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

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

1玫瑰花

源码如下:

attachments-2021-12-lnFzmwmH61b6a1ba9d2a2.png

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()

2爱心

attachments-2021-12-2CbPoRoI61b6a1d997c07.png

源码如下:

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()

3网页爱心表白

attachments-2021-12-mgkC9kmx61b6a21a7bf91.png

源码如下:

<!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>

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-oBMYuCrw62b1830e8c855.jpeg

  • 发表于 2021-12-13 09:32
  • 阅读 ( 548 )
  • 分类:Java开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章