晋江文学城
下一章 上一章  目录  设置

24、在108行代码里种星星 编程 ...

  •   初二暑假,我抱着笔记本电脑,坐在老家昏暗的灶屋里。屏幕是唯一的光,像一口被夜色扣住的井。
      三个小时前,青少年编程赛公布结果,我的“星空农场”项目——一个帮小学生认星座的HTML5小游戏——在初评就被刷下。评委留言只有一句:“创意尚可,实现粗糙,建议系统学习。”
      我盯着那行灰色小字,手指悬在键盘上,却敲不出任何字母。灶膛里的柴火噼啪,像替我心碎的声音。
      “小源,出来帮个手。”外公在院子里喊。
      他今年七十六,背微驼,却执意要在屋后那块斜坡地上种晚西瓜。我“嗯”了一声,合上电脑,像合上一本被撕掉结局的小说。
      月光下的斜坡地,像一张未被编译的空白文档。外公递给我一把铁锹:“把这条垄起高,雨水太多,根会闷。”
      我踩住铁锹,用力,湿土翻起,带着潮湿的土腥味。虫子在垄背爬,像括号里乱跳的字符。
      “知道西瓜最忌什么?”外公问。
      “缺水?”
      “不,是心急。”他抓起一把泥,在掌心捏碎,“得先让土呼吸,苗才肯扎根。”
      一句话,像断点停在我胸口。我抬头,看见坡地尽头,几颗早出的星星挂在山脊,像尚未被引用的变量,闪着微弱却自由的光。
      回到灶屋,我没有急着改代码,而是打开旧文档,一行行看。
      第42行,我把猎户座α星画成实心圆,半径3像素;
      第73行,我用setTimeout让流星每5秒划过;
      第108行,注释只有两个字:“TODO”——
      那里本该写:点击星星,播放希腊神话,可我嫌音频难调,一直空着。
      我盯着“TODO”,忽然想起外公说的“让土呼吸”。
      我删掉了原本花哨的片头动画,把背景噪音采样成真实的虫鸣——就是刚才坡地上录的;又把点击事件改成“种下”动作:用户每点一颗星,就在屏幕底端种下一棵虚拟西瓜苗,三天后,苗会顺着星线爬成藤蔓,结出一个小小瓜。
      代码越写越薄,从原来的217行缩到108行,却像被夜露润过的西瓜地,简洁而呼吸顺畅。
      三天后,我在村口小广场测试。没有Wi-Fi,我就用电脑开热点,让几个跳皮筋的孩子围过来。
      “点一下北极星!”
      “哇,它长出西瓜藤啦!”
      孩子们的声音像清脆的语法提示,在夏夜里来回滚动。最小的妞妞把屏幕对准天空,努力找真正的北极星,她的眼睛亮过任何LED。
      那一刻,我突然明白:评委的“山顶”是复杂度、是算法、是名次;而坡地上,这些孩子的笑声,是另一座更高的山顶——它只需要108行代码,和一颗肯让土呼吸的心。
      我把最终版命名为《半坡星空》。提交时,我没有选择“竞赛组”,而是投进了“乡村开源”小站。
      readme文档里,我只写一句话:
      “如果你也在半坡,请把虫鸣替换成你那里的风。”
      开学前夜,外公的西瓜地开了第一朵花。黄瓣、黑芯,像一颗迷你向日葵。我蹲在地头,打开电脑,把花蕊拍成新图标,替换了原本的“TODO”。
      第108行,如今写着:
      star.onclick = plant; // 在半坡,星星也会结果。
      保存,编译,上传。
      我合上屏幕,远处山脊的星子一颗颗亮起,像无数调用成功的函数,在夜空里返回同一个值:
      哪里都有光,只要肯让代码,先学会呼吸。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>