陈序就坐在旁边看着,顺便拉开了一罐可乐。
第一轮,林星漪还没有完全掌握规律,操作了十几次便宣告失败。
第二轮,她最高拼到了1024,但从1024到2048不是只剩下一个数字,而是剩下了一半的工作量,最终她也没完成。
陈序一边喝着可乐一边指点她玩法,不过很显然,这游戏的随机性并不是那么好克服的,她最后甚至只拼到了512。
“这个很好玩!”
林星漪放下键盘,重重点头说道:
“虽然玩法很简单,但可重复性很强。”
“是因为里面有随机性的代码,但好像又不是完全随机......”
“所以到底是怎么做的?我现在能看代码吗?”
“我就算现在给你看,你也看不懂啊。”
陈序放下手里的可乐瓶,随后问道:
“回到原来的问题,如果让你来做这个游戏的话,你会怎么做?”
“只讲思路,不需要告诉我怎么用代码实现。”
从这一句话开始,陈序正式进入到了他承诺给林星漪的教学。
林星漪思索了片刻,回答道:
“首先要有一个代码,用来随机生成数字。”
“然后,要用一个代码,实现数字的左右移动,判断数字的位置。”
“还需要用代码实现数字的合并,这个我知道怎么做!”
“只需要两个函数,一个判断相邻数字是否相等,一个判断移动的方向。”
“比如在顶角上,就只需要判断两个数字、两个方向就好了!”
“其他的原理也差不多......哎,如果可以用中文编程就好了,我感觉我现在都能做!”
“你是否在寻找:易语言。”
陈序好笑地摊了摊手,但随即又点头道:
“你说的其实很准确----你比我想象中的要聪明。”
“其实你刚才说的那几句话,已经触及到了算法的根本。”
“很简单,就是怎么在兼顾算力、运算速度的条件下,完成一次计算。”
“来,现在我们来看代码,跳过前面的map生成部分,直接看合并部分。”
“你看,我们判断合并,实际上并没有用到你所说的位置判断,而是统一使用了同一个逻辑的四部