如何使用本地存储和JavaScript创建俄罗斯方块分数计数器
我正试图为我的复古游戏网站添加一个分数计数器,该网站完全由JavaScript和html组成。我如何在脚本中添加分数计数器 我尝试了多种不同的方法,甚至尝试使用本地存储,但我就是做不到,有人能帮我吗如何使用本地存储和JavaScript创建俄罗斯方块分数计数器,javascript,html,tetris,Javascript,Html,Tetris,我正试图为我的复古游戏网站添加一个分数计数器,该网站完全由JavaScript和html组成。我如何在脚本中添加分数计数器 我尝试了多种不同的方法,甚至尝试使用本地存储,但我就是做不到,有人能帮我吗 let arena = []; let rand; const player = { pos: {x: 0, y: 1}, matrix: null, color: null } rand = Math.floor(Math.random() * pieces.leng
let arena = [];
let rand;
const player = {
pos: {x: 0, y: 1},
matrix: null,
color: null
}
rand = Math.floor(Math.random() * pieces.length);
player.matrix = pieces[rand];
player.color = colors[rand+1];
function drawMatrix(matrix, x, y) {
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
if (matrix[i][j])
ctx.fillRect(x + j, y + i, 1, 1);
}
}
}
function rotateMatrix(matrix, dir) {
let newMatrix = [];
for (let i in matrix)
newMatrix.push([]);
if (dir === 1) {
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
newMatrix[j][matrix.length - i - 1] = matrix[i][j];
}
}
} else {
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
newMatrix[matrix.length - j - 1][i] = matrix[i][j];
}
}
}
return newMatrix;
}
function collides(player, arena) {
for (let i = 0; i < player.matrix.length; i++) {
for (let j = 0; j < player.matrix[i].length; j++) {
if (player.matrix[i][j] && arena[player.pos.y + i + 1][player.pos.x + j + 1])
return 1;
}
}
return 0;
}
function mergeArena(matrix, x, y) {
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
arena[y+i+1][x+j+1] = arena[y+i+1][x+j+1] || matrix[i][j];
}
}
}
function clearBlocks() {
for (let i = 1; i < arena.length-2; i++) {
let clear = 1;
for (let j = 1; j < arena[i].length-1; j++) {
if (!arena[i][j])
clear = 0;
}
if (clear) {
let r = new Array(tWidth).fill(0);
r.push(1);
r.unshift(1);
arena.splice(i, 1);
arena.splice(1, 0, r);
}
}
}
let arena=[];
让兰德;
康斯特玩家={
pos:{x:0,y:1},
矩阵:空,
颜色:空
}
rand=数学.floor(Math.random()*件长);
player.matrix=个数[rand];
player.color=colors[rand+1];
函数矩阵(矩阵,x,y){
for(设i=0;i
当我完成为游戏添加分数时。我将使用数据库在本地存储之外添加一个领导板,有什么建议吗?欢迎使用SO!请更具体一点——到底出了什么问题?此外,如果您有最终将数据存储在数据库中的设计,本地存储对您没有任何用处,因为它完全由用户的计算机控制。我试图做的是为游戏中在本地存储中清除的每行区块创建一个分数,然后将其发送到数据库,这样我就可以制作一个leader Board OK,这样您就需要在您的
clearBlocks()。至于DB方面,这是一个更大的考虑,当你得到这个问题时,需要成为一个不同的问题。一般来说,问题越集中、越精确,越有可能得到回答。不要害怕把一个更广泛的问题分解成多个任务,因此也不要害怕提出更多的问题。