手机浏览器扫描二维码访问
「哎呀,别卖关子了,赶紧说吧!」
看着老爹一幅悠然闲适的样子我牙根儿都痒痒,如果不是害怕遭雷劈可能早就用鞋底招呼过去了。
「好吧好吧,那我就说吧。其实要通过键值来避过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就是当前移动方向的下个位置,下下个位置的坐标,有了它们,实现功能应该就不是什么难事儿了吧?」
「这样……都行?」
我和小弦子都被老爹这波操作秀到了,真的特别让人无语。就好像你想尽一切办法,使尽浑身解数都没有将一块大石头给搬起来,然而在这个时候某个人拿了几个滑轮和绳子,不费吹灰之力就大石头给搬起来了。
不仅是我和小弦子有这种感觉,就连之前陷入沉思的六叔叔也是好一阵无语,如果一定要用一个词语来形容我们此时此刻的心情,大概还是只有「卧槽」这两个字了。
但不得不是说的是,老爹的这种做法让人挑不出来任何的毛病来,而且简单易懂,实现起来也极为容易。
很显然,这并不是我,小弦子和六叔叔想要看到的结果,因为这和我们想象中的算法相差太大了!
算法难道不应该是经过一系列精密的计算后,最终得到想要的结果么?
「哈哈,你们别这样看着我,我之前声明过的,这种方法比较取巧。而且作为一个合格的程序员,就是要用最简洁的代码实现最复杂的功能,因为简洁同时也意味着效率高。」
戚风童话 我的蛮荒部落 韩娱之聚光 青梅千千结 顾九辞霍明澈 迟宠 衫生诡 龙婿陆凡 王妃称心 上门龙婿陆凡 四龙攒凤 梦灾末世生存指南 阴阳眼小师妹 夫人的病今天好了吗 最强豪婿陆凡 大佬甜妻宠上天 校园全能马甲女神 异界烽火录贰烽云再起 嗣子荣华路 张钟颖
身怀无上绝技,驾驭超强熊猫仙兽,超逗小神医带你一起闯天涯,花花世界我来了。...
大姐白子柒,荣登福布斯富豪榜,霸道总裁。二姐夏娉婷,顶级杀手。三姐李羽真,中医圣手。四姐楚灵儿,超级大明星。五姐苏清荷,国际黑暗世界女皇,号称罗刹。六姐方涵,是个智商高达两百的天才,在各种艺术方面有超高造诣。七姐秦楚楚,身份神秘叶萧自己,全球黑暗世界的王者修罗!...
出生在末世爆发百年后黑暗纪元的秦羽在一次狩猎中死亡,重生到了末世爆发的第一天。一场血雨降临,死去的人重新站了起来,渴望着鲜美的血肉,生命物种发生变异,凶猛的变异兽肆虐,更有来自异空间的强大异族虎视眈眈。文明毁灭,道德崩丧,人类是否能在残酷的末世中延续下去?是成为冷酷的恶魔还是仁慈的救世主?进化的极限是天堂还是地狱?...
一个人穿梭在两个时空,一个是宋代,一个是现代。许久之后,那人居然不知哪个是宋代,哪个是现代。到底是现代变成了宋代,还是宋代变成现代。也许只有您知道,当然是在您细致阅读完此书的前提下。...
司先生的无赖小甜妻一朝诡异重回二十二岁,还在醉酒的时候招惹上了一位高冷的病弱总裁??大总裁什么都好,就是身体娇弱易推倒还认为她别有所图,要把她放在眼皮子底下看着。这倒是其次,最关键的是,大总裁,你为什么没看上我,却看上了我做的菜!...
大唐天朝,万国膜拜!我是时代的符号!异族犯边,哀鸿遍野!我执朴刀荡贼寇!勾心斗角,满朝文武!我以丹心照明月?王公侯爵,谁是一人之下万人之上?士农工商,谁立风口浪尖力掌乾坤?我是李二的结拜兄弟,我是大唐九千岁!...