Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
UI
|
输入
|
媒体
|
导航
|
其他
|
网页模板
|
APP模板
|
常用代码
|
在线代码
背景
对话框和灯箱
筛选及排序
反馈
弹出层
悬停
布局
图表
加载
圆边
滚动
标签
文本链接
工具提示
网络类型
拾色器
定制和风格
日期和时间
拖和放
通用输入
自动完成
密码
投票率
搜索
选择框
快捷键
触摸
丰富的输入
上传
验证
音频和视频
幻灯片和轮播图
图片展示
图像
地图
滑块和旋转
Tabs
水平导航
垂直导航
文件树
分页
手风琴菜单
其他导航
动画效果
浏览器调整
移动
独立的部件
杂项
游戏
PROMULGATOR
linjinnan
广东省广州市番禺区/南沙区
关注作者
(0)
收藏此代码
(111)
← svg+css3动画
→ js随机点名(原创)
相关代码
canvas
贪吃
蛇
canvas
贪吃
蛇
html5实现
贪吃
蛇
小游戏
二十行代码做
贪吃
蛇
canvas
贪吃
蛇
游戏(原创)
贪吃
蛇
(原创)
贪吃
蛇
怀旧版
小游戏
Html
Css
Js
开始游戏
暂停游戏
var canvas = document.getElementById("canvas"); canvas.width = 400; canvas.height = 400; canvas.style.border = "1px solid #ccc"; var ctx = canvas.getContext('2d'); // 记录蛇运行路径 var map = []; // 每个矩形的宽高 var width = height = 8; // 矩形的坐标 var x = y = 8; var size = 8; // 蛇身的长度 var len = 10; // 默认方向向右 var code = 2; // 食物坐标 var randX = randY = 0; // 计时器 var timer; // 开关 var play = true; function setGame() { // 键盘方向 1向上 2向右 3向下 0向下 switch (code) { case 1: y -= size; break; case 2: x += size; break; case 3: y += size; break; case 0: x -= size; break; } // 蛇身碰撞限制 for (var i = 0; i < map.length; i++) { if (parseInt(map[i].x) == x && parseInt(map[i].y) == y) { alert('你输了!'); window.location.reload(); } // 判断食物是否在自己身上 if (parseInt(map[i].x) == randX && parseInt(map[i].y) == randY) { rand_frog(); } } // 出墙限制 if (x > canvas.width || x < 0 || y > canvas.height || y < 0) { alert('你输了!'); window.location.reload(); } // 控制蛇身长度 if (map.length > len) { // 删除数组里面第一项并返回值 var cl = map.shift(); ctx.clearRect(cl['x'] - 1, cl['y'] - 1, size + 2, size + 2); } // 记录蛇身每个矩形X,Y轴的位置 map.push({ 'x': x, 'y': y }); // 画矩形 ctx.fillStyle = '#069'; ctx.strokeStyle = '#069'; ctx.fillRect(x, y, width, height); // 吃食物判断 if (randX == x && randY == y) { len++; randFrog(); } } document.onkeydown = function(event) { // 兼容 var event = window.event || event; // 获取键盘码 var keycode = event.keyCode - 37; // 键盘方向 1向上 2向右 3向下 0向左 if (code == 1 && keycode != 3) { code = keycode; } else if (code == 2 && keycode != 0) { code = keycode; } else if (code == 3 && keycode != 1) { code = keycode; } else if (code == 0 && keycode != 2) { code = keycode; } } // 投放食物 function randFrog() { // 随机坐标 randX = Math.ceil(Math.random() * 49) * 8; randY = Math.ceil(Math.random() * 49) * 8; ctx.fillStyle = '#000'; ctx.strokeStyle = '#000'; ctx.fillRect(randX, randY, size, size); } // 游戏开始与暂停的控制 function playGame(i) { if (i && play) { timer = setInterval(setGame, 100); play = false; randFrog(); } else { play = true; clearInterval(timer); ctx.clearRect(randX, randY, size, size); } }
↑上面代码改变,会自动显示代码结果 jQuery调用版本:
1.11.3
立即下载
canvas贪吃蛇
代码描述:canvas贪吃蛇小游戏
请使用键盘方向键进行游戏,本代码加以注释说明,简单易懂,可用于教学
0
最新
发表评论
全部评论
暂时没有评论!
登录后才可以评论
30秒后在评论吧!
发表评论
回复
取消回复
<!doctype html> <html> <head> <meta charset="utf-8"> <title>canvas贪吃蛇-jq22.com</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号