}
//判断两个方块是否重合
self.equals = function(node) {
if (self.x == node.x && self.y == node.y) {
return true;
} else {
return false;
}
}
//清除格子 让格子跟背景颜色一样
self.clear = function() {
ctx.fillStyle = "#E8FFFF";
ctx.strokeStyle = "#E8FFFF";
ctx.fillRect(x, y, w, w);
ctx.strokeRect(x, y, w, w);
}
}
//创建场景对象
function farm() {
//保存作用域
var self = this;
ctx.fillStyle = "#E8FFFF"; //填充的场景颜色
ctx.fillRect(0, 0, canvas.width, canvas.height);
//增加食物的方法
self.addFood = function() {
if (gameover) {
return gameOver(); //游戏结束方法
} else {
//计算随机位置
var x = parseInt(canvas.width / gridWidth * Math.random()) * gridWidth;
var y = parseInt(canvas.height / gridWidth * Math.random()) * gridWidth;
//实例化一个方格对象
var food = new node(x, y, gridWidth);
//得到对象之后,要把食物画到界面上面
food.foodInit();
//追加到数组里面
foods.push(food);
}
}
}
//蛇对象
function snake(x, y, len, speed) {
var self = this;
self.init = function() {
self.len = len; //身体长度
self.nodes = new Array(); //蛇的身体数组
self.dir = "R"; //方向
self.speed = speed; //速度
//从右往左,逐格把蛇画出来
var nx = x,
ny = y; //蛇的坐标点
for (var i = 0; i < len; i++) {
//创建一个方格对象
var tmpNode = new node(nx, ny, gridWidth);
//把蛇的身体存放起来
self.nodes[i] = tmpNode;
//存放完了之后,把蛇画出来
tmpNode.snakeInit();
nx -= gridWidth; //往左边画
}
//让蛇动起来定时器
snake_interval = setInterval(self.move, self.speed);
//给蛇绑定方向按键
document.onkeydown = function(e) {
//按键的值
var code = e.keyCode;
//记录一下旧的方向
self.odir = self.dir;
switch (code) {
//一组方向键 一组字母 WASD
case 65:
self.dir = "L";
break;
case 87:
self.dir = "U";
break;
case 68:
self.dir = "R";
break;
case 83:
self.dir = "D";
break;
case 37:
self.dir = "L";
break;
case 38:
self.dir = "U";
break;
case 39:
self.dir = "R";
break;
case 40:
self.dir = "D";
break;
}
}
}
>
> ### 源码获取
>
>
> 查看博主主页或私信博主获取
>
>
> 精彩推荐更新中:
>
>
> #### [HTML5大作业实战100套](https://bbs.csdn.net/topics/618154847)
>
>
>
>
> 打卡 文章 更新**40**/ 100天
>
>
> 大家可以**点赞、收藏、关注、评论**我啦 、需要完整文件随时或交流查看下方微信获取哟~!
>
>
# 总结
蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。蚂蚁的工作环境还是挺赞的,因为我面的是稳定性保障部门,还有许多单独的小组,什么三年1班,很有青春的感觉。面试官基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。
* * *
**经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有**:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。
![蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上](https://img-blog.csdnimg.cn/img_convert/8a295294a8b414f9ca56a59188681fe3.webp?x-oss-process=image/format,png)
了需要大厂真实面试主要有**:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。
[外链图片转存中...(img-x9X9P73V-1714297632150)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**