浙江财经大学校庆50周年之“三行代码作情诗”
本文发布于18天前,最后更新于 18 天前,其中的信息可能已经有所发展或是发生改变。

代码

抽象版本如下

while (styunlen.life.duration > 0) {
  styunlen.love.eternal("ZUFE");
}

我为其添加了可运行的版本

/**
 * @author Styunlen
 * @dedicated to ZUFE for her 50th anniversary
 * @edit time 2024.04.11 15:15:20 
 **/
// 抽象版本
// while (styunlen.life.duration > 0) {
//   styunlen.love.eternal("ZUFE");
// }

// 可运行版本
let y = 30,x = -60,scale = [.1, .09, .08, .07, .06, .05, .06, .07, .08, .09, .1],index = 0,range = (size) => [...Array(size)];
let getScale = () => scale[index % scale.length],fn = (x) => ((getScale()**2*(4*y*y+x*x)-1)**3-8*x*x*y**3*getScale()**5 <= 0);
const clear = () => process.stdout.write(process.platform === "win32" ? "\x1bc" : "\x1b[2j\x1b[3j\x1b[h",);
let styunlen = {life: {duration: "浙江财经大学校庆50周年"}},loveindex = 0,scheduler = (await import("timers/promises")).scheduler;
styunlen.love = {eternal: async (sweetheart) => {console.log(((y = 30),index++,range(60).map(() => (y--,(x = -60),range(120).map(() => (fn(x++) ? sweetheart.at(loveindex++ % sweetheart.length) : " ")).join("")),).join("\n\x1b[91m")),);await scheduler.wait(50);clear();},};
while (styunlen.life.duration.length > 0) {
  await styunlen.love.eternal("ZUFE ");
}

运行说明,由于使用了JSES Module写法, 所以要手动将js文件后缀命名成.mjs来强制nodejsES Module形式加载js,否则会报错。

另一种让nodejs.js文件视为ES Module的方法是使用package.jsontype属性,手动将json文件里的type属性设置为"module"就行。

核心代码就是使用jsArray.prototype.mapArray.prototype.join来最小化代码生成爱心字符串,以及数学公式( x²+y²-1)³-x²y³ <= 0来判断是否在爱心区域内。

上述代码中的getScale也如字面意思是为了调整x,y的缩放系数,以适应控制台的长宽比(粗暴地使用了x缩放两倍,y缩放一倍,因为系数是小数,所以看起来y乘了2,其实是缩小了一倍 )。

(getScale()**2*(4*y*y+x*x)-1)**3-8*x*x*y**3*getScale()**5 <= 0

以上代码也只是以下代码的因式分解压缩形式,看不懂的可以自己写草稿运算一遍。

((x * getScale()) ** 2 + (y * getScale() * 2) ** 2 - 1) ** 3 -(x * getScale()) ** 2 * (y * getScale() * 2) ** 3

运行效果

windows: 

linux:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
Source: https://github.com/zhaoolee/ChineseBQB
Source: https://github.com/zhaoolee/ChineseBQB
Source: https://github.com/zhaoolee/ChineseBQB
颜文字
Emoji
小恐龙
花!
滑稽大佬
演奏
程序员专属
上一篇