1小时开发贪吃蛇,原来编程如此简单

本系列实例教程第二趴,作者仅仅想通过一些实际案例,带领大家了解编程,编程其实如此简单。

在学习本教程之前,需要有两个准备,首先,您需要有一点点的编程基础,比如什么是变量、条件判断、循环等。其次,请先玩一玩贪吃蛇这个游戏,如果没有玩过,是不太容易理解其中的一些算法的。

当然,也可以先学习一下第一趴 1小时开发2048,原来游戏如此简单

我能给您的保证就是,通过本文,您一定可以自己手动编码一个贪吃蛇的游戏,如果不行,请在评论区轰炸我~

材料准备

  1. 开发环境准备
  2. 代码基础准备
  3. 涉及到的样式

1. 开发环境准备

首先,您需要先有一台电脑,如果是手机查看,就算了。。。然后,一个代码编辑器,可以是记事本,也可以是IDEA。这里推荐使用visual studio code编辑器和chrome浏览器。至于visual studio code是啥,请自行百度了。
就是这么简单,开发环境已经准备好了。

2. 代码基础准备

  • 完全没有基础的同学,可以先看看w3school关于html的教程CSS的教程JS的教程。比较不是仅仅写个hello world,还有需要有一丢丢基础的。
  • 教程中,不是使用的原生js,而是基于Jquery进行的编码,使用了一些Jquery的语法,请参考:Jquery的教程

3. 涉及到的样式说明

  • width 宽度

  • height 高度

  • background-color 设置背景颜色

  • float 浮动模式

  • .content 代表某个标签下class属性为content,是一个css选择器,以下是例子:

<div class="content"></div>

好了,我们开始进入正题,进入编码环节

正式编码,一共分为

  1. 页面基础框架编写
  2. 样式编写
  3. 通过数组展示
  4. 向右移动第一颗
  5. 通过方向控制移动
  6. 多颗如何移动(第一种方法)
  7. 多颗如何移动(第二种方法)
  8. 随机出现食物
  9. 吃到食物如何处理
  10. 解决随机出现食物bug
  11. 判断游戏失败:出边界
  12. 判断游戏失败:撞到自己
  13. 处理一些其他bug

1. 页面基础框架编写

图片 1

详见上图,这是一个最基础的html代码,分为三块,页面、css样式、js逻辑,请参考图中的注释。直接浏览器打开本文件,即可看到效果。(可按F12,调出chrome的控制台)
再次说明,html基础标签和结构,请参考html的教程

2. 样式编写

图片 2

我们设置整个幕布大小是400px * 400px,每个小块是10 * 10,每行每列就是40个块,一共1600个 。分别定义出蛇身体颜色黑色、蛇头颜色红色、食物颜色绿色。整体样式设置较为交单,具体请参考代码注释,刷新运行,查看效果。

3. 通过数组展示

3.1 思路

多说几句,关于这个小标题,通过数组展示,其实具有了编程思维的同学,应该很好理解,但是对于没有基础的同学,就有点难了,先看这张图:

图片 3

游戏中贪吃蛇,就是一条蜿蜒的小蛇,沿着自己走过的路,一步一步往前挪动。我们理解其位在一个二维数组中,连续的一系列方格代表蛇。感觉自己没说清楚,但是不理解也没有关系,编程就是,编着编着就会了。先往下看。

3.2 老实孩子的写法

之前通过样式,我们已经清楚了,我们一共是一个40*40,一共1600个格子的二维数组。先来直观的感受下,有多少。

图片 4

每一行40个0,一共40行,代码冗余了,反正我是看不下去,所以简化它。

3.3 通过循环来初始化

这里我们先定义了一个总的gameArr变量,用于存放所有块,是一个二维数组。Array(40)代表生成了一个40位长度的数组。然后,我们遍历这个数据,目前这个数组还是一维的,里面所有元素都是null&#

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小脚大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值