从零基础到拥抱人工智能,孩子可能就差一个贪吃蛇游戏
去年寒假档,有一部孩子们喜欢的电影上映。
不知道家长们有没有陪孩子一起看过这部《无敌破坏王2:大闹互联网》
在电影中有一个印象深刻的镜头,
吃豆人、泡泡龙、还有贪吃蛇
他们都因为很久没有客人光顾而失业了
为什么呢?
因为
互联网时代的到来,改变了全部世界。
以前通过代码来做游戏,做软件只是少部分精英才能做到的事,而现在互联网的普及,以及各种编程语言的推广,让写代码不再是少数人的专利。
可以说,只要你想,你也可以写代码!写出自己的游戏!
如果你到了无敌破坏王的世界,你有没有办法利用互联网思维,挽救这些失业的孩子呢?
拯救不开心计划!重写贪吃蛇。
我们将通过一档全新沉浸式编程体验节目,来探索编程世界的奥妙,首播就从“贪吃蛇”系列开始。
在介绍节目前先带大家了解下贪吃蛇,不要看它简单,有很多故事可以挖掘。
从“贪吃娃”到“贪吃蛇群”
第一款贪吃蛇是在1976年,由Gremlin推出的Blockade。玩法比较特殊,蛇尾不动、头越来越长。好吧其实它的设定不是蛇,而是两个小人一边走一边筑墙……或者,可以叫贪吃娃?
Blockade
第一款可以在手机上玩的贪吃蛇,是在硬度可以媲美诺基亚的砖头,啊不,硬度可以媲美砖头的诺基亚上诞生的。
第一个手机贪吃蛇出现在诺基亚N6110上
不过现在同学们对这两款肯定不熟悉了,大家熟知的是这样的
一坨,不,一大片贪吃蛇
这样的
“四...四位...大佬...我只是打个酱油...”
以及这样的
气吞万里如虎,啊不,如蛇
其实不管版本和形式怎么变,它的内在逻辑都是相似的。
比如蛇的移动,物理上给人的感觉是整个贪吃蛇往右移了一步,在贪吃蛇非常长的情况下给人的感觉移一步要做很多事情。
但是在计算机中我们可以简单的考虑贪吃蛇的移动,假设用一个数组来存储所有组成贪吃蛇的格子,那么移动一步,就是把将来的格子插入到这个数组的头部,然后再去掉这个数组的最后一个元素。我们只做两件事情,就完成了一整条蛇的移动!
从“12亿3137万2670”到“0”
“12亿3137万2670”
2012年11月13日,美国人里克·卡特,通过惊人的53小时8分钟,将记录改写为12亿3137万2670分,成为世界记录的保持者。
里克·卡特
这个夸张的记录现在很难打破,因为现在的编程发展得越来越快,之前老旧的语言已经被抛弃,我们有更快、更简洁的语言来实现。
“20”
有大神仅用20行代码就完成贪吃蛇游戏,运行速度也大大加快。
“0”
现在已经有了AI贪吃蛇,全程自动完成各类操作,高分不再需要动手。
贪吃蛇一般情况下要找一个最短路线去吃食物,这个时候会运用到A star寻路,这里就不具体展开了。这里用A Star 需要特别注意两个问题:
1.整个蛇的身体是不可接触的格子的,要排除掉。
2.因为贪吃蛇移动是一个动态的过程,所以每走一步,要重新进行寻路,而不是一次寻路完,走完路线,因为尾巴的位置会不断的空出来。
从“玩蛇”到“做蛇”
看了这么多贪吃蛇的案例,是不是也想自己来做一个,重写贪吃蛇呢?】
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com