许以辰没说话,只是点了点头。
许以安消失在厨房门后。
很快传来倒水的声音,然后是轻微的脚步声上楼。
客厅里重新安静下来。
只有电脑风扇转动的嗡鸣。
许以辰靠在沙发上,闭上眼睛。
他刚才做了什么?
主动提出要教她编程?
窗外夜色深沉。
远处传来隐约的汽车驶过的声音,像远去的潮汐。
许以辰睁开眼睛,看着茶几上那叠被整理得整整齐齐的画纸。
最上面是那张全家福,三个小人手牵着手,线条用力得像誓言。
他伸出手,拿起那张画,在灯光下仔细看。
没有五官。
但牵手的动作,画得很紧,很牢。
像永远不会分开。
……
下午三点,阳光斜穿过客厅的落地窗。
许以辰坐在沙发一端,笔记本电脑搁在腿上,屏幕上是修改到一半的歌词文档。
他心不在焉地敲着字,余光却瞟着楼梯方向。
脚步声响起,很轻,许以安抱着她的平板电脑从楼上下来,穿着校服外套。
她在客厅入口停了一下,看见他,小声说:“哥哥。”
“嗯。”许以辰合上电脑,“作业写完了?”
“写完了。”许以安走过来,在沙发另一端坐下,和他隔着两个人的距离。
她把平板放在茶几上,屏幕亮着,是一个色彩鲜艳的儿童编程界面。
许以辰看了一眼。
界面上散落着各种图形化的指令块,颜色不同,形状各异。
和她之前玩的音乐软件类似,但更复杂一些。
“这是陈老师推荐的软件。”许以安说,“她说可以自己设计小游戏。”
“哦。”许以辰应了一声,没多问。
他重新打开电脑,调出那份需求文档,但没有立刻给她看。
他在观察。
许以安打开了软件里的一个示例项目,是一个简单的打地鼠游戏。
她点了运行,屏幕上跳出卡通地鼠,她用手指点,地鼠消失,得分增加。
玩了两轮,她关掉,开始研究代码区。
那些图形块被她一个个拖出来,排列,拼接。
她动作不快,有时候会停下来思考,小眉头微微皱着。
偶尔会不小心拼错,两个块对不上,她会小声“啊”一下,然后拆开重试。
很符合一个初学者的状态。
但许以辰注意到,她犯错的频率在降低。
最开始五分钟拼错了三次,后面十分钟只错了一次。
而且她拆开重拼的速度很快,几乎不需要思考。
好像她本来就知道正确的拼法,只是手没跟上。
“哥哥。”许以安忽然抬起头,“你昨天说的那个抽签的游戏,是什么样的?”
许以辰顿了顿,把电脑屏幕转向她:“大概是这样。”
需求文档被简化过了,去掉了专业术语,只留下核心描述:一个页面,显示所有参与者的名字,一个按钮,点击后随机选出一个,显示结果,要求过程透明,不能作弊。
许以安凑近屏幕,仔细看了一会儿,然后点点头:“像抽奖转盘。”
“嗯。”
她转回头,看着自己的平板,“用这个软件能做吗?”
“试试看。”许以辰说,“就当玩。”
许以安重新看向平板。
她关掉刚才的示例项目,新建了一个空白项目。
屏幕分成三块:左侧是素材库,中间是代码区,右侧是预览窗口。
她先点开素材库,里面有很多卡通角色和背景。
她选了一个旋转舞台的背景,又选了一个箭头指针。
然后开始拖指令块。
第一个块是当绿旗被点击,这是程序的开始,她把它拖到代码区。
第二个块是显示列表,她停顿了一下,似乎在找这个块,翻了两页才找到,拖过来拼接在第一个块下面。
“列表是什么?”她问。
“就是装名字的盒子。”许以辰说,“把所有名字放进去。”
“哦。”许以安点点头,又在列表块后面接了一个添加项目块。
她点了块上的加号,弹出一个输入框。
她用虚拟键盘笨拙地打字:“小明”“小红”“小刚”……打了五个名字。
然后她拖了一个将箭头指向随机方向的块,再接了一个等待1秒,再接停止旋转。
最后是“说:幸运观众是……”后面接了一个列表的第n项块。
她在这个块的下拉菜单里选了随机项。
整个过程,她花了将近二十分钟。
动作始终不快,偶尔会犹豫,会回素材库重新找图标,会对着指令块的选项皱眉思考。
期间拼错了两次,都立刻改正了。
但许以辰注意到,她的逻辑链条很清晰。
从初始化列表,到随机选择,到展示结果,一步都没错。
“做好了。”许以安抬起头,眼睛里有一点期待,“要试试吗?”
许以辰点点头。
许以安点了屏幕上的绿色旗子。舞台背景亮起,箭头开始旋转,一秒后停下,一个气泡框弹出来:“幸运观众是:小红”。
她又点了一次。
这次是“小刚”。
第三次,“小明”。
每次结果都不同。
“好像可以?”许以安小声说,不太确定地看着许以辰。
许以辰没说话。
他伸出手:“平板给我一下。”
许以安递过去。
许以辰接过,仔细看代码区的结构。
那些彩色块排列整齐,虽然简单,但逻辑完备。
他点开列表块,看到里面那五个测试用的名字。
又点开随机选择的块,确认算法是软件自带的真随机。
然后他打开项目的导出选项,把这个简单的程序打包成一个可执行文件,发到自己的邮箱。
“哥哥要拿走吗?”许以安问。
“给团队的技术人员看看。”许以辰说,“他们需要评估。”
他没有说评估什么。
许以安也没问。
晚上七点,许以辰在书房里收到了技术人员的回复。
是个语音消息,点开,对方的声音带着明显的惊讶:“辰哥,这雏形谁做的?虽然很简单,但基础架构很干净啊。该有的都有,而且冗余代码一点没有。”
“最绝的是那个等待1秒的设计,简直神来之笔。既模拟了转盘过程,又不会让用户觉得太假。这绝对不是外包公司那帮人能做出来的简洁,是找了新的合作方?”