咖趣阁

手机浏览器扫描二维码访问

第四十四章 算法之美(第1页)

「哎呀,别卖关子了,赶紧说吧!

看着老爹一幅悠然闲适的样子我牙根儿都痒痒,如果不是害怕遭雷劈可能早就用鞋底招呼过去了。

「好吧好吧,那我就说吧。

其实要通过键值来避过switch目前我能够想到的有两种方法,其中一种比较取巧,另一种就是正儿经的通过计算得出来。

刚刚你们也说了,如果是对灰太狼进行上下移动,实质上是在对行数x进行加减,左右移动,是对列数y做加减,那我们定义一个二维数组,把要加减的量放在数组里面,然后通过键值把数组取出来就好了。

向上移动,x-1,也就是x(-1),y0;

向下移动,x1,y0;

向左移动,x0,y-1,也就是y(-1);

向右移动,x0,y1;

键值的排列是左37,上3,右39,下40,如果我们对它们进行减运算,得到的结果是左0,上1,右2,下3,正好可以作为数组的下标。

于是就可以声明一个偏移量数组:

intoffset[4][2]={{0,-1},{-1,0},{0,1},{1,0}};

我们知道了灰太狼当前的位置,也可以通过键值获取位置的改变量,那么下一个位置、下下个位置自然就能够确定了。

假设我们把移动这部分的逻辑定义成一个move函数,那么实现逻辑大概如下:

intmove(intkeycode)

{

intindex=keycode-37;

intx1=灰太狼当前位置xoffset[index][0];

inty1=灰太狼当前位置yoffset[index][1];

intx2=灰太狼当前位置xoffset[index][0]*2;

inty2=灰太狼当前位置yoffset[index][1]*2;

移动判断逻辑

}

x1,y1和x2,y2就是当前移动方向的下个位置,下下个位置的坐标,有了它们,实现功能应该就不是什么难事儿了吧?」

「这样……都行?」

我和小弦子都被老爹这波操作秀到了,真的特别让人无语。

就好像你想尽一切办法,使尽浑身解数都没有将一块大石头给搬起来,然而在这个时候某个人拿了几个滑轮和绳子,不费吹灰之力就大石头给搬起来了。

不仅是我和小弦子有这种感觉,就连之前陷入沉思的六叔叔也是好一阵无语,如果一定要用一个词语来形容我们此时此刻的心情,大概还是只有「卧槽」这两个字了。

但不得不是说的是,老爹的这种做法让人挑不出来任何的毛病来,而且简单易懂,实现起来也极为容易。

很显然,这并不是我,小弦子和六叔叔想要看到的结果,因为这和我们想象中的算法相差太大了!

算法难道不应该是经过一系列精密的计算后,最终得到想要的结果么?

「哈哈,你们别这样看着我,我之前声明过的,这种方法比较取巧。

而且作为一个合格的程序员,就是要用最简洁的代码实现最复杂的功能,因为简洁同时也意味着效率高。

老爹似乎是看穿了我们三个人的心思。

好吧,我承认他说得很有道理的样子,但是依然没有办法让我平静的接受,毕竟之前我为了考虑键值和位置移动偏移量的关系扣了那么久的头皮,让我如何能够接受这种毫无技术含量的答案?

小弦子和六叔叔没有说话,不过我猜他们和我想的应该是差不多。

「行了行了,那我就说说第二种方法吧,如果这种方法依然不能让你们满意,我就没有办法了!

热门小说推荐
武傲三界

武傲三界

孟不凡,天赋惊人,初入宗门就崭露头角。机缘巧合之下,获得仙宝葫芦,有葫芦童子相助,孟不凡入地府,闯天宫,最后成神成仙,笑傲三界!...

超级搜鬼仪

超级搜鬼仪

高渐飞获得了一款可以搜索现实鬼魂,虚拟鬼魂的软件。  从此之后  快意恩仇,风生水起!  呃,田伯光,白日鼠白胜,江南七怪,胡青牛这些都只是低级鬼...

永生才能不灭

永生才能不灭

以全族之力,转世重生,是否能破开这天地囚笼,带领本族重返万界巅峰,永生之后是否能够真的不死不灭,且看叶凡一步步走出不一样的道路。...

夏极皇子看了两年佛经

夏极皇子看了两年佛经

经典小说夏极皇子看了两年佛经由剪水ii所编写的穿越重生风格的小说,故事中的主角是夏极夏小苏,情节引人入胜,非常推荐。主要讲的是大周王都,天阙城。城西的神女阁里,三层栏杆凭栏处,是一个醉醺醺的少年趴着,少年名为夏极。他口中念念有词重帏深下莫愁堂,卧后清宵细细长。神女生涯原是梦,小姑居处本无郎。...

穿越到未来修仙

穿越到未来修仙

秋木怎么也没想到自己竟会穿越到未来,在那个仙侠与高科技融合的奇幻世界,他如妖孽般崛起!想要极品丹药?想要完美功法?秋木随便拿出各种丹药功法任君挑选,前提是你得付得起小钱钱!这是一个营销高手穿越未来赚钱的故事...

恐怖悍刀行(我可以无限强化)

恐怖悍刀行(我可以无限强化)

鬼怪横行,宗族霸世  妖魔作祟,恐慌当头。  中原各地的诡异县志满城风雨的恐怖传闻流传广泛的瘆人童谣。    是否分解三字经  分解成功,获得‘通用文字识别’  是否分解朱雍  分解成功,获得人皮x1人骨x10人肉x20,‘烈火掌’    是否强化烈火掌  烈火掌1烈火掌2烈火掌3…烈火掌10  。。。  烈火掌(大圆满)手掌火焰抗性30    虽然这个鬼祟妖异横行的世界很危险,但好在他有一个超级辅助器。  ...

每日热搜小说推荐