为了账号安全,请及时绑定邮箱和手机立即绑定
老师判断游戏结束的方法有问题,假如你把方块全部放一边(左边角落或者右边角落),然后堆积到第二行时游戏就结束了,但讲道理只要方块还能落下来,游戏就没有结束,所以我完善了这个方法的逻辑判断,希望能帮到你
// 检查游戏结束
var checkOver = function(){
var gameOver = false;
for (var j=0; j<next.data.length; j++) {
for(var i=0; i<next.data[j].length; i++){
if(next.data[j][i] >= 1){
if(gameData[1][next.origin.x + i] == 1){
gameOver = true;
}
}
}

}
return gameOver;
}
检测点是否合法以及检测是否可以下降、左移、右移全部可以合并为一个方法,大家可以查看我的笔记
// 下移
var down = function(){
var posx = cloneObject(cur);
posx.origin.x = posx.origin.x + 1;
if(check(posx,cur)){
clearData();
cur.origin.x = cur.origin.x + 1;
setData();
}
refreshDiv(gameData,gameDivs);
}
这一节的逻辑是不是有问题?
穷举法。。。这样显得好low
isValid is not defined
着实是令人智熄的操作
看完以后,抄了一位老哥的代码,然后我自己加入了新机制,俄罗斯方块再也不会死了,还可以用于表白,欢迎各位老哥来看看,https://github.com/dogePrince/dogeCube
很好很强大
没个十几遍的熟练度,根本写不下来啊
到这里的人都去哪了?
那些不懂原理的人,麻烦把俄罗斯方块玩通关再回来学习好吗
学完了,感谢 @channingbreeze 老师,五星好评!顺便敲了一遍代码(实现略有不同),希望对后面学习的同学有所帮助。https://gitee.com/ryanpenn/Tetris 欢迎Star&Fork
课程须知
1、html、css基础知识 2、JS基础知识 3、会用NodeJS
老师告诉你能学到什么?
你将学会如何使用js实现实现俄罗斯方块的单击模式,并且学会如何优化代码,如何处理细节。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消