第23章 智性恋

    第23章 智性恋 (第2/3页)

   “虽然玩法很简单,但可重复性很强。”

    “是因为里面有随机性的代码,但好像又不是完全随机......”

    “所以到底是怎么做的?我现在能看代码吗?”

    “我就算现在给你看,你也看不懂啊。”

    陈序放下手里的可乐瓶,随后问道:

    “回到原来的问题,如果让你来做这个游戏的话,你会怎么做?”

    “只讲思路,不需要告诉我怎么用代码实现。”

    从这一句话开始,陈序正式进入到了他承诺给林星漪的教学。

    林星漪思索了片刻,回答道:

    “首先要有一个代码,用来随机生成数字。”

    “然后,要用一个代码,实现数字的左右移动,判断数字的位置。”

    “还需要用代码实现数字的合并,这个我知道怎么做!”

    “只需要两个函数,一个判断相邻数字是否相等,一个判断移动的方向。”

    “比如在顶角上,就只需要判断两个数字、两个方向就好了!”

    “其他的原理也差不多......哎,如果可以用中文编程就好了,我感觉我现在都能做!”

    “你是否在寻找:易语言。”

    陈序好笑地摊了摊手,但随即又点头道:

    “你说的其实很准确----你比我想象中的要聪明。”

    “其实你刚才说的那几句话,已经触及到了算法的根本。”

    “很简单,就是怎么在兼顾算力、运算速度的条件下,完成一次计算。”

    “来,现在我们来看代码,跳过前面的map生成部分,直接看合并部分。”

    “你看,我们判断合并,实际上并没有用到你所说的位置判断,而是统一使用了同一个逻辑的四部分代码,每部分代码判断一个移动方向......”

    陈序一行一行地解释代码,也解释了为什么要用这种看起来比较笨的方式去实现。

    “原因很简单,你刚才考虑问题,是从开发者角度去考虑的。”

    “对开发者来说,每次操作会有四种可能,上下左右。”

    “但实际上,对玩家来说,他每次都只选择一个策略,上、下、左、右。”

    “所以,在他们选择策略之后,代码会自动触发与之相关的逻辑部分,仅需要运算一次,就能获得结果。”

    “这就是算法逻辑的核心,节省算力不一定需要靠多么复杂的函数,面向对象,也是一种思路......”

    陈序侃侃而谈,林星漪

    (本章未完,请点击下一页继续阅读)