前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一行代码实现心形字符画

一行代码实现心形字符画

作者头像
腾讯IVWEB团队
发布2020-06-24 16:13:22
1.8K0
发布2020-06-24 16:13:22
举报

效果

img

实现思路

将每一个字符设计为1个单位

循环一个区域 x ∈ [-30, 30) y ∈ [-15, 10)

根据心形公式 (x² + y² - 1)³ - x³y³

当输入的 (x² + y² - 1)³ - x³y³ < 0 说明在心形函数内,那么此时应输出内容

当(x² + y² - 1)³ - x³y³ >= 0 则输出空格

Caveat

  1. js 实现 sleep 函数
代码语言:javascript
复制
const sleep = (ms) => new Promise((resolve) => {setTimeout(() => {resolve()}, ms)});
  1. js for循环中无法执行异步代码,也就是说
代码语言:javascript
复制
for (let y = -15; y < 10; y++) {
  for (let x = -30; x < 30; x++) {
    sleep(1000);
  }
}

这样的代码无法实现,sleep会在 for执行完成后在执行

为了解决这个问题,我通过递归函数来实现了循环,从而实现了字符一个一个打出来的打字机的效果

具体细节请看

项目地址: https://github.com/bilibiliou/one-line-js-code-draw-a-heart

如果觉得还行,还希望老板们 star 一波

Thanks

用 python 画爱心代码讲解

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 效果
  • 实现思路
  • Caveat
  • Thanks
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档