最新网址:www.00shu.la
看着林星漪惊讶的表情,陈序随口回答道:“这只是一个普通得不能再普通的小游戏,没什么大不了的。”
“但是这确实是个游戏,对吧?”
“对啊。”
“所以你确实在20分钟内写了个游戏出来?”
“这么说不准确.....这玩意儿我好久之前就写过了,现在只不过是在这里复制出来而已。”
“我就说......这起码还合理一点!”
林星漪长舒了一口气,那种看着陈序仿佛是在看一个怪物的眼神也终于缓和了几分。
不过即便如此,刚刚发生的事情还是让她难以置信。
20分钟哎!
一个游戏!
她不是没玩过游戏,甚至她上Pascal课的时候还跟着老师写过贪吃蛇的小游戏。
不过那时候,哪怕是一比一地跟着老师给的代码去写,她也整整花了三天的时间才实现。
相比之下,陈序的动作简直快到离谱----所以他到底是怎么学会的?
林星漪好奇地看着陈序,想开口问,但又觉得没有必要。
反正他的秘密已经够多了,再多一个也没什么关系吧?
“所以这个游戏怎么玩?”
林星漪开口问道。
“玩法很简单,9宫格,用方向键四向滑动,把相同的数字组合在一起变大,最后得出2048,就算是过关。”
“你先试一试玩一玩,想办法通关。”
“通关完以后,你再告诉我你的想法。”
“比如这个游戏是怎么实现的,需要用到什么功能。”
“你有Pascal基础,大概应该能理解。”
“理解原理了之后,我再具体跟你讲代码、讲算法。”
“这样一来,你就能初步理解算法的意义了。”
陈序一边说一边演示,林星漪很快搞清楚了玩法,开始自己上手。
陈序就坐在旁边看着,顺便拉开了一罐可乐。
第一轮,林星漪还没有完全掌握规律,操作了十几次便宣告失败。
第二轮,她最高拼到了1024,但从1024到2048不是只剩下一个数字,而是剩下了一半的工作量,最终她也没完成。
陈序一边喝着可乐一边指点她玩法,不过很显然,这游戏的随机性并不是那么好克服的,她最后甚至只拼到了512。
“这个很好玩!”
林星漪放下键盘,重重点头说道:
“虽然玩法很简单,但可重复性很强。”
“是因为里面有随机性的代码,但好像又不是完全随机......”
“所以到底是怎么做的?我现在能看代码吗?”
“我就算现在给你看,你也看不懂啊。”
陈序放下手里的可乐瓶,随后问道:
“回到原来的问题,如果让你来做这个游戏的话,你会怎么做?”
“只讲思路,不需要告诉我怎么用代码实现。”
从这一句话开始,陈序正式进入到了他承诺给林星漪的教学。
林星漪思索了片刻,回答道:
“首先要有一个代码,用来随机生成数字。”
“然后,要用一个代码,实现数字的左右移动,判断数字的位置。”
“还需要用代码实现数字的合并,这个我知道怎么做!”
“只需要两个函数,一个判断相邻数字是否相等,一个判断移动的方向。”
“比如在顶角上,就只需要判断两个数字、两个方向就好了!”
“其他的原理也差不多......哎,如果可以用中文编程就好了,我感觉我现在都能做!”
“你是否在寻找:易语言。”
陈序好笑地摊了摊手,但随即又点头道:
“你说的其实很准确----你比我想象中的要聪明。”
“其实你刚才说的那几句话,已经触及到了算法的根本。”
“很简单,就是怎么在兼顾算力、运算速度的条件下,完成一次计算。”
“来,现在我们来看代码,跳过前面的map生成部分,直接看合并部分。”
“你看,我们判断合并,实际上并没有用到你所说的位置判断,而是统一使用了同一个逻辑的四部分代码,每部分代码判断一个移动方向......”
陈序一行一行地解释代码,也解释了为什么要用这种看起来比较笨的方式去实现。
“原因很简单,你刚才考虑问题,是从开发者角度去考虑的。”
“对开发者来说,每次操作会有四种可能,上下左右。”
“但实际上,对玩家来说,他每次都只选择一个策略,上、下、左、右。”
“所以,在他们选择策略之后,代码会自动触发与之相关的逻辑部分,仅需要运算一次,就能获得结果。”
“这就是算法逻辑的核心,节省算力不一定需要靠多么复杂的函数,面向对象,也是一种思路......”
陈序侃侃而谈,林星漪频频点头。
但说着说着,陈序却发现,坐在他身边的林星漪已经开始有些走神了。
她的眼神不再锁定在屏幕上,而是时不时瞥向自己。
“你看我干啥?”
陈序莫名其妙道:
“听课啊,你还想不想参加NOIP了?”
“报告老师,想!”
林星漪嘿嘿一笑,开口道:
“陈序,你有没有发现,你给别人讲课的时候,有一种非常、非常、非常特别的变化。”
“......什么变化?”
“变帅了。”
林星漪一本正经地说道。
“我勒个智性恋啊......不是,我认真问一句,你不会觉得老张讲数学题的时候也风韵犹存吧?”
“......滚啊!”
林星漪狠狠瞪了陈序一样,继续说道:
“我是说真的啊!”
“之前总听他们说什么‘认真工作的男人最帅’,我还觉得挺恶心人的,现在看起来,好像也不是那么没有道理嘛。”
“哎,你说奇怪不奇怪,为什么别人没发现呢?”
“你看班里那几个男生,成绩稍微好一点的,都有好多女孩子喜欢。”
“你说,怎么到了你这,就没有人喜欢你了呢?”
“你老实说,你收到过情书没有?”
“我靠......情书.......”
陈序差点被这个古早的名词撞了一跟头,努力回忆好久,他才终于回答道:
“还真没有。”
“明珠蒙尘啊!”
林星漪痛心疾首。
“不过,好像谢染洁已经开始对你有那么点意思了。”
“说不定你俩最后能......”
“你可快闭嘴吧。”
陈序打断了林星漪没头没脑的发言,看了一眼电脑上的时间,开口说道:
“从明天开始,你就要正式开始NOIP学习了。”
“一个多月的时间,你要先掌握C++的基础,然后还要大量练习算法题。”
“怎么说呢.......重在参与,但也不一定完全没有奇迹。”
“走吧,9点,差不多了。”
“回家!”
“好嘞!”
林星漪乖巧地收拾好书包,两人并肩走出网吧。
陈序突然想起什么,回头看向林星漪,开口问道:
“所以你说的那个理由,到底是什么?”
最新网址:www.00shu.la