帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» 实现简单别踩白块
实现简单别踩白块
浏览:802次
-
评论:0次
-
发布时间:2017-11-30
Html
Css
Js
0
var w = 260; var h = 400; var score = 0; var div = document.getElementById("score"); function Rect(y, arr) { //每一个rect表示一行 //y表示这一行的高度 this.y = y; //arr是一个数组,用于描述,四个小矩形,每一个的颜色 //颜色:0表示白,2表示黑,1表示红,3表示灰,大于3也是灰 this.arr = arr; } var game = document.getElementById("game"); game.width = w; game.height = h; var canvas = game.getContext("2d"); canvas.fillStyle = "#000000"; //a里面放入6个Rect var a = new Array(); for (var i = 0; i < 6; i++) { //每一个Rect里面要有一个y,一个arr var arr = new Array(); for (var j = 0; j < 4; j++) { arr[j] = 0; } //应该随机一个让它是黑色 var n = Math.floor(Math.random() * 4); arr[n] = 2; a[i] = new Rect(i * 100 - 200, arr); } var backing = null; var backsum = 0; //回退的方法 function goBack() { if (backsum == h / 4) { //停止回退 clearInterval(backing); } for (var i = 0; i < a.length; i++) { a[i].y--; } drawGame(); backsum++; } //能动的方法 function goGame() { drawGame(); for (var i = 0; i < a.length; i++) { a[i].y++; if (a[i].y > h) { for (var j = 0; j < a[i].arr.length; j++) { if (a[i].arr[j] == 2) { //gameover isrunning = false; clearInterval(running); a[i].arr[j] = 1; //回退 backing = setInterval("goBack();", 10); return; } } //出去了,就再利用 for (var j = 0; j < a[i].arr.length; j++) { a[i].arr[j] = 0; } var n = Math.floor(Math.random() * 4); a[i].arr[n] = 2; //放到最上面去 a[i].y -= h / 4 * 6; } } } //绘制的方法 function drawGame() { for (var i = 0; i < a.length; i++) { for (var j = 0; j < a[i].arr.length; j++) { //颜色是什么? switch (a[i].arr[j]) { case 0: canvas.fillStyle = "#ffffff"; break; case 1: canvas.fillStyle = "#ff0000"; break; case 2: canvas.fillStyle = "#000000"; break; case 3: canvas.fillStyle = "#dddddd"; break; default: canvas.fillStyle = "#dddddd"; } //画 canvas.fillRect(j * (w / 4), a[i].y, (w / 4), (h / 4)); //描边 canvas.strokeStyle = "#666666"; canvas.strokeRect(j * (w / 4), a[i].y, (w / 4), (h / 4)); } } canvas.strokeStyle = "#000000"; canvas.strokeRect(0, 0, w, h); } var begin = true; function onGameDown(event) { if (begin) { begin = false; running = setInterval("goGame();", 10); } if (isrunning) { event = event || window.event; var x = event.clientX; var y = event.clientY; //判断点击的是哪个矩形 for (var i = 0; i < a.length; i++) { if (a[i].y < y && a[i].y + h / 4 > y) { //点击在了第i行 var j = Math.floor(x / (w / 4)); a[i].arr[j]++; if (a[i].arr[j] == 1) { drawGame(); clearInterval(running); isrunning = false; return; } else if (a[i].arr[j] == 3) { score++; div.innerHTML = score; } } } } } var isrunning = true; var running = null; drawGame();
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>实现简单别踩白块-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:js实现别踩白块小游戏
滚动条美化(支持横向)
CSS3图片滤镜效果
讨论这个常用代码(0)
回答他人问题或分享心得会奖励牛币
〒_〒 居然一个评论都没有……
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
802
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值