最终完善单机版俄罗斯方块小游戏,增加干扰功能——每10秒增加一行
增加干扰功能
game.js中加入addBotLine函数
// 底部增加行
var addBotLine = function (lines) {
for (var i=0; i<gameData.length - lines.length; i++) { // 行上移
gameData[i] = gameData[i + lines.length];
}
for (var i=0; i<lines.length; i++) {
gameData[gameData.length - lines.length + i] = lines[i];
}
cur.origin.x = cur.origin.x - lines.length;
if (cur.origin.x < 0) {
cur.origin.x = 0;
}
refreshDiv(gameData, gameDivs);
}
local.js中加入
// 随机生成干扰行
var generateBotLine = function (lineNum) {
var lines = [];
for (var i = 0; i < lineNum; i++) {
var line = [];
for (var j = 0; j < 10; j++) {
line.push(Math.ceil(Math.random() * 2) - 1); // 生成 0 1 随机数
}
lines.push(line);
}
return lines;
}
// 计时函数
var timeFunc = function () {
timeCount += 1;
if (timeCount == 5) {
timeCount = 0;
time += 1;
game.setTime(time);
if (time % 10 == 0) { // 10秒生成一行
game.addBotLine(generateBotLine(1));
}
}
}
