回到主页

从零基础到拥抱人工智能,孩子可能就差一个贪吃蛇游戏

有渔code

· 有渔新闻

去年寒假档,有一部孩子们喜欢的电影上映。

不知道家长们有没有陪孩子一起看过这部《无敌破坏王2:大闹互联网》

broken image

在电影中有一个印象深刻的镜头,

吃豆人、泡泡龙、还有贪吃蛇

他们都因为很久没有客人光顾而失业了

为什么呢?

因为

broken image

互联网时代的到来,改变了全部世界。

以前通过代码来做游戏,做软件只是少部分精英才能做到的事,而现在互联网的普及,以及各种编程语言的推广,让写代码不再是少数人的专利

可以说,只要你想,你也可以写代码!写出自己的游戏!

如果你到了无敌破坏王的世界,你有没有办法利用互联网思维,挽救这些失业的孩子呢?

拯救不开心计划!重写贪吃蛇

我们将通过一档全新沉浸式编程体验节目,来探索编程世界的奥妙,首播就从“贪吃蛇”系列开始。

在介绍节目前先带大家了解下贪吃蛇,不要看它简单,有很多故事可以挖掘。

从“贪吃娃”到“贪吃蛇群”

第一款贪吃蛇是在1976年,由Gremlin推出的Blockade。玩法比较特殊,蛇尾不动、头越来越长。好吧其实它的设定不是蛇,而是两个小人一边走一边筑墙……或者可以叫贪吃娃?

broken image

Blockade

broken image

第一款可以在手机上玩的贪吃蛇,是在硬度可以媲美诺基亚的砖头,啊不,硬度可以媲美砖头的诺基亚上诞生的。

第一个手机贪吃蛇出现在诺基亚N6110上

不过现在同学们对这两款肯定不熟悉了,大家熟知的是这样的

broken image
broken image

一坨,不,一大片贪吃蛇

这样的

“四...四位...大佬...我只是打个酱油...”

broken image

以及这样的

broken image

气吞万里如虎,啊不,如蛇

其实不管版本和形式怎么变,它的内在逻辑都是相似的。

比如蛇的移动,物理上给人的感觉是整个贪吃蛇往右移了一步,在贪吃蛇非常长的情况下给人的感觉移一步要做很多事情。

但是在计算机中我们可以简单的考虑贪吃蛇的移动,假设用一个数组来存储所有组成贪吃蛇的格子,那么移动一步,就是把将来的格子插入到这个数组的头部,然后再去掉这个数组的最后一个元素。我们只做两件事情,就完成了一整条蛇的移动!

从“12亿3137万2670”到“0”

“12亿3137万2670”

2012年11月13日,美国人里克·卡特,通过惊人的53小时8分钟,将记录改写为12亿3137万2670分,成为世界记录的保持者。

里克·卡特

里克·卡特

这个夸张的记录现在很难打破,因为现在的编程发展得越来越快,之前老旧的语言已经被抛弃,我们有更快、更简洁的语言来实现。

“20”

有大神仅用20行代码就完成贪吃蛇游戏,运行速度也大大加快。

broken image

“0”

现在已经有了AI贪吃蛇,全程自动完成各类操作,高分不再需要动手。

broken image

贪吃蛇一般情况下要找一个最短路线去吃食物,这个时候会运用到A star寻路,这里就不具体展开了。这里用A Star 需要特别注意两个问题:

1.整个蛇的身体是不可接触的格子的,要排除掉。

2.因为贪吃蛇移动是一个动态的过程,所以每走一步,要重新进行寻路,而不是一次寻路完,走完路线,因为尾巴的位置会不断的空出来。

看了这么多贪吃蛇的案例,同学们是不是也想自己来做一个,重写贪吃蛇呢?

快来关注有渔少儿编程推出的全新节目

《有渔编程竞技场》

第一期,我们从贪吃蛇开始。

了解贪吃蛇的历史

探究代码的奥秘

一起来感受编程世界的竞技风暴。

开播日期:3月23日(本周六)19:00

免费直播课

↓↓↓↓↓↓

broken image