JavaScript在我的游戏中无法正常工作

JavaScript在我的游戏中无法正常工作,javascript,html,tetris,Javascript,Html,Tetris,我正在制作一个俄罗斯方块游戏,但每当我在浏览器中打开它时,它就不起作用了。所以我打开了JavaScript控制台。它还说,uncaughtsyntaxerror:missingtheargumentlist-Tetris.html:229。然后我很明显地去看了它,一切看起来都很好,只是不起作用,这是我的代码 俄罗斯方块-HTML5 线路: var-ORWS=20; var-COLS=10; 变量大小=32; var画布 var-ctx; var阻断; var bgImg; var-gameOv

我正在制作一个俄罗斯方块游戏,但每当我在浏览器中打开它时,它就不起作用了。所以我打开了JavaScript控制台。它还说,uncaughtsyntaxerror:missingtheargumentlist-Tetris.html:229。然后我很明显地去看了它,一切看起来都很好,只是不起作用,这是我的代码

俄罗斯方块-HTML5 线路:

var-ORWS=20; var-COLS=10; 变量大小=32; var画布 var-ctx; var阻断; var bgImg; var-gameOverImg; var凝块; var-gameData; var imgLoader; var预测时间; var-curTime; var isGameOver; var线跨; 变种卷曲线; window.onload=onReady; 函数onReady{ imgLoader=新装载的图像; imgLoader.addImageblocks.png,块; imgLoader.addImagebg.png,bg; imgLoader.addImageover.png,gameover; imgLoader.onReadyCallback=onImagesLoaded; imgLoader.loadImages; canvas.getElementByIdgameCanvas; ctx=canvas.getContext2d; lineSpan=document.getelementbyidline; prevTime=curTime=0; document.onkeydown=getInput; } 函数getInput{ } 函数onImagesLoadede{ blockImg=imgLoader.getImageAtIndex 0; bgImg=imgL.getImageAtIndex 1; gameOverImg=imgLoader.getImageAtIndex2; 初始游戏; } 函数初始化博弈{ var r,c; 卷曲线=0; isGameOver=false; 如果gameData==未定义{ gameData=新阵列; 对于r=0;r500{ 如果选中MoveCurtake.gridx,curtake.gridy+1,curtake.curState{ curPiece.gridy+=1; }否则{ 复印机; curtake=getrandompece; } prevTime=curTime; } ctx.clearRect0,0320640; 绞车; 拉丝; 如果isGameOver==false{ 请求动画框架更新; }否则{ ctx.drawImagegameOverImg,0,0320640,0,0320640; } } 函数copyDatap{ var xpos=p.gridx; var ypos=p.gridy; 变量状态=p.curState; 对于var r=0,len=p.states[state].length;r=0{ gameData[ypos][xpos]=p.color+1; } xpos+=1; } xpos=p.gridx; ypos+=1; } 检查线; 如果p.gridy<0{ isGameOver==true; } } 函数检查线{ var lineFound=false; var fullRow=true; var r=行-1; var c=COLS-1; whiler>=0{ whilec>=0{ 如果游戏数据[r][c]==0{ fullRow=false; c=-1; } c-; } 如果fullRow==true{ 零行; r++; lineFound=true; curLines++; } fullRow=true; c=COLS-1; r-; } } 函数zeroRowrow{ var r=行; var c=0; 当r>=0时{ 而c0{ gameData[r][c]=gameData[r-1][c]; }否则{ gameData[r][c]=0; } C++; } c=0; r-; } } 多功能绞车{ ctx.drawImagebgImg,0,0320640,0,0320640; 对于var r=0;r=0{ ctx.drawImageblockImg,p.color*大小,0,大小,大小drawX*大小,drawY*大小,大小,大小; } drawX+=1; } drawX=p.gridx; drawY+=1; } } 函数检查movexpos、ypos、newState{ var结果=真; var newx=xpos; var-newy=ypos; 对于var r=0,len=curtake.states[newState].length;r=COLS{ 结果=假; c=len2 r=len; } 如果gameData[newy]!=未定义和&gameData[newy][newx]!=0和&curtake.states[newState][r]!=未定义和&curtake.states[newState[r][c]!=0{ 结果=假; c=len2; r=len; } newx+=1; } newx=xpos; newy+=1; 如果newy>行{ r=len; 结果=假; } } 返回结果; }
正如你所说,229行是你的问题

ctx.drawImageblockImg,p.color*大小,0,大小,大小drawX*大小,drawY*大小,大小,大小

大小和drawX之间似乎缺少逗号。请在以下位置检查语法和引用:


希望能有帮助!

您看过第229行了吗?这是哪一行?我们无法分辨哪一行来自粘贴的标记。第229行是代码ctx.drawImageblockImg,p.color*SIZE,0,SIZE,SIZE drawX*SIZE,drawY*SIZE,SIZE,SIZE;在drawPiecep;函数中。我确实看过了,我觉得一切都很好。这解决了问题,但继续第253行我知道了。未捕获语法错误:意外标记俄罗斯方块。html:253`这是它的代码和函数。如果gameData[newy]!=未定义和&gameData[newy][newx]!=0和&curtake.states[newState][r]!=未定义和&curtake.states[newState[r][c]!=0{}checkMovexpos,ypos,newState