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

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

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

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

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

无敌破坏王2剧照

为什么呢?

因为

无敌破坏王2剧照

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

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

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

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

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

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

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

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

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

第一款贪吃蛇游戏:Blockade

第一款手机贪吃蛇游戏:诺基亚贪吃蛇

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

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

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

贪吃蛇大作战

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

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

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

从“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.因为贪吃蛇移动是一个动态的过程,所以每走一步,要重新进行寻路,而不是一次寻路完,走完路线,因为尾巴的位置会不断的空出来。

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

少儿编程全新节目:《有渔编程竞技场》

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

了解贪吃蛇的历史

探究代码的奥秘

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

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

参加方法:关注有渔编程头条号,后台发送【直播课】即可获取地址哦。

语言写贪吃蛇墙角符号_从零基础到拥抱人工智能,您的孩子可能就差一个贪吃蛇游戏...相关推荐

  1. c++ 结构体赋值_《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事

    一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 <零基础看得懂的C语言入门教程>--(二)简单带你了解流程 & ...

  2. 取得数组下标_《零基础C++入门教程》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<零基础看得懂的C语言入门教程>--(二) ...

  3. Swift语言难度大吗?适不适合零基础学习?

    如今人们使用的各式各样的智能手机系统都是不一样的,比如iphone系统就是有Swift语言编写而成的,我们可以在Swift语法当中看到Objective-C.JavaScript.C#.Python等 ...

  4. 中秋佳节速成C语言_老九零基础学编程系列之C语言【章节1-章节5】

    前言 现在是北京时间2019.09.13 11:16 今天是月饼节啊!祝大家月饼节快乐~ 然而~作为一个本科来自生科院的工科女 为了当C语言助教 只能? 值此佳节,凿壁偷光/勤学苦练/悬梁刺骨/孙康映 ...

  5. c语言python零基础教学_编程零基础应当如何开始学习 Python?附教程

    零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有很多的学校使用python作为入门编程语言.此外,python在机器学习,人工智能领域也非常 ...

  6. c语言python零基础教学_编程零基础应当如何开始学习 Python?

    目录 1.学习了解Python的基础知识. 2.安装Python,边学边练. 3.收集资料,作为练习指引. 4.确定学习方向,项目练手. 5.学习过程中要注意多练.多问! 编程零基础选择Python开 ...

  7. 列表怎么有限的初始化为零_《零基础学习Android开发》第五课 类与面向对象编程1-1...

    视频:<零基础学习Android开发>第五课 类与面向对象编程1-1 类的定义.成员变量.构造方法.成员方法 一.从数据与逻辑相互关系审视代码 通过前面的课程,我们不断接触Java语言的知 ...

  8. 黑马h5学习代码_如何零基础制作酷炫实用的H5页面

    H5页面已经成为了当下移动端主要的宣传方式,一个好的H5页面有极高的营销价值,无论是企业还是个人都非常需要.制作一个炫酷的H5页面一定要会写代码吗,下面千锋网络营销小编就给大家分享如何零基础制作炫酷实 ...

  9. 学java编程语言_对于零基础的人而言 该如何学Java编程语言

    "做开发.做编程这件事一定要有思想,否则只相当于搬砖"一个从事Java开发多年的"老司机"如是说.编程思想,历来是重中之重,不止要学会,还要应用好,如何赋予空洞 ...

最新文章

  1. 别的设计师比你又快又好,是因为你不知道他们在用介个!
  2. 南通专转本计算机考试几级,江苏专转本考试了解多少?
  3. PHP 页面静态化/纯静态化/伪静态化
  4. Java IO: PipedInputStream
  5. 不爱读书怎么办?用这个新奇的方法,熟知137亿年来的地球通史
  6. docker部署mysql项目_docker部署springboot项目(web + mysql)
  7. [Matlab] PDETool 的 Set Formula 的元素排列顺序会影响 Boundary 的判定
  8. 上位机通过串口获取单片机数据
  9. 老年人手里有多少积蓄,该不该告诉子女?
  10. iOS:实现邮件和短信发送的简单示例
  11. python用什么编译器-Python必学之编译器用哪个好?你用错了吧!
  12. 使用SQL语句操作数据库-01
  13. Algs4-1.5.11实现加权quick-find算法
  14. 生物流体力学及血流动力学建模仿真技术实战
  15. Python程序员面试技巧
  16. 人人网冷落主业,押注智能硬件
  17. python除法有余数时+1
  18. 最值得推荐的8个手机(华为、小米、OPPO、Vivo等)数据恢复软件
  19. Javascript实现幻灯片效果
  20. 曙光服务器如何重新设置u盘启动_曙光服务器安装Win2008总结

热门文章

  1. ubuntu下Pure-FTPd的安装和配置
  2. 基本数据类型和包装数据类型的使用标准
  3. postman-SSL证书问题-支持HTTPS请求
  4. 自写小函数处理 javascript 0.3*0.2 浮点类型相乘问题
  5. 将我人生的第一篇博客献给伟大的软件工程这门课程
  6. buntu下shell脚本运行异常:bash和…
  7. C#中的Json的序列化和反序列化
  8. 原生态mysql_MySQL 原生操作-速查
  9. HyperLedger/Fabric JAVA-SDK with 1.1
  10. 2017python windows 客户端最新版本3.6.2安装教程