HTML+CSS+JS实现 贪吃蛇游戏源码_贪吃蛇源码html,2024年最新java程序设计入门教程

//蛇的初始化
self.snakeInit = function() {
ctx.fillStyle = “#000000”;
ctx.strokeStyle = “#FFFFFF”;
ctx.fillRect(x, y, w, w);
ctx.strokeRect(x, y, w, w);
}

//判断两个方块是否重合
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套

打卡 文章 更新40/  100天

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。

因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
img
img
img

既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
img

正体系化!**

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-r38YeK5m-1712520828272)]