用原用JS写一个贪食蛇

  1. 第一步,写好一个盒子(让蛇在里面走),宽 800 p x,高 600 p x;

  2. 第二步,写一个食特的构造函数 Function food(){
    this.width = width || 20;
    this.height = height || 20;
    this.backgroundColor = bgc || “green”;
    this.left = 0;
    this.bottom = 0;
    }

    用原用JS写一个贪食蛇
    一开始在这里写错js的名字 一看我就是新手啦啊,的确进来这个行业不多.

    用原用JS写一个贪食蛇

    还有这个"box"错写为".box",真的是醉了.

    用原用JS写一个贪食蛇

    用原用JS写一个贪食蛇
    效果图随机食物出来了

  3. 第三步,写一个生成蛇的构造函数.
    用原用JS写一个贪食蛇
    先借助画图软件写出刚渲染出的蛇的身段,然后得出位置.

    用原用JS写一个贪食蛇

    蛇有三节,所以定义body是一个包有三个数的数组

    用原用JS写一个贪食蛇

    这个上下文调用模式很关键,不然找不到Snake对象中的direction

    用原用JS写一个贪食蛇

    用一个数组保存蛇身体的原来的位置用原用JS写一个贪食蛇

    问题来了,再次走时,蛇原来的身体还在???怎么办呢?用原用JS写一个贪食蛇

    传入这个参数很重要,让它能找到那个对象.this.snake;

    用原用JS写一个贪食蛇

    给window添加键盘按下事件,让蛇可以四个方法移动.

    用原用JS写一个贪食蛇

    易错点,删蛇身时,要从后往前删,要不删不干净.
    用原用JS写一个贪食蛇

    顺序很重要,要不两个蛇身会走在一处的.
    用原用JS写一个贪食蛇

    有BUG如下图
    用原用JS写一个贪食蛇
    解决的方法如下:
    用原用JS写一个贪食蛇

    蛇吃进食物后加在尾部;好关键的一部
    用原用JS写一个贪食蛇
    不能少写一个减1
    用原用JS写一个贪食蛇
    用原用JS写一个贪食蛇

    //让food这个量变全局变量,当蛇吃了食物时,食物的位置发生了变化.
    用原用JS写一个贪食蛇
    用原用JS写一个贪食蛇
    //加入这些条件是让蛇只能左右转,前进,不能后退;

    用原用JS写一个贪食蛇

    这是一个易错点,还没有改过来的.

    用原用JS写一个贪食蛇

    //两个判断条件,但是出现了下面的BUG

    用原用JS写一个贪食蛇

    这里没写好.汗汗

    用原用JS写一个贪食蛇


##阶段2

  1. 总的来说,一个完整的贪食蛇写出来了,但是一个完好的贪食蛇是有等级的,怎么写的呢,比如等级越高,速度就越快.
    定义 this.duration

    用原用JS写一个贪食蛇

  2. 有个BUG如上图所示

    用原用JS写一个贪食蛇

  3. 更改语名1,2的位置则可

用原用JS写一个贪食蛇
大功告成,除了进入下一关时,不能好好的按自已想的延时,其它的一切都好了.

小伙伴们可以看我的原码代码