资料
表格
制度
合同
管理
职场
经营
创业
范文
总结
计划
作文
文章
美文
词句
教程
模板
图片
字体
图标
办公
人事
财务
生产
管理资源吧首页
>>>
教程
>>>
编程
>>>
JavaScript教程
>>>
JS 俄罗斯方块完美注释版代码
<html> <head> <title>R</title> <style> #board tr td{ width: 20px; height: 20px; } </style> </head> <img src="/_New/_cj/myeditor/sysimage/space.gif" class="ewebeditor__script" _ewebeditor_fake_tag="script" _ewebeditor_fake_value="%3Cscript%20language%3D%22javascript%22%3E%20%0D%0A%2F**%20%0D%0A*%20JS%E4%BF%84%E7%BD%97%E6%96%AF%E6%96%B9%E5%9D%97%E5%AE%8C%E7%BE%8E%E6%B3%A8%E9%87%8A%E7%89%88%20v%201.01%20%0D%0A*%20%E4%BB%8E%E5%AD%A6c%E8%AF%AD%E8%A8%80%E9%82%A3%E4%B8%80%E4%BC%9A%E5%84%BF%E9%83%BD%E6%83%B3%E5%86%99%E4%B8%80%E4%B8%AA%E4%BF%84%E7%BD%97%E6%96%AF%E6%96%B9%E5%9D%97%2C%E5%8F%AF%E6%98%AF%E6%AF%8F%E6%AC%A1%E5%8A%A8%E8%B5%B7%E6%89%8B%E6%80%BB%E8%A7%89%E5%BE%97%E9%9A%BE%E5%BA%A6%E5%A4%AA%E5%A4%A7.%20%0D%0A*%20%E4%BB%8A%E5%A4%A9%E7%BB%88%E4%BA%8E%E7%94%A8%E4%BA%86%E5%A4%A7%E7%BA%A64%E4%B8%AA%E5%B0%8F%E6%97%B6%E5%86%99%E5%87%BA%E6%9D%A5%E4%BA%86.%20%E5%85%B6%E4%B8%AD%E5%9C%A8%E6%B6%89%E5%8F%8A%E5%88%B0%E6%96%B9%E5%9D%97%E5%8F%98%E5%9E%8B%E7%9A%84%E6%97%B6%E5%80%99%E8%BF%98%E5%92%A8%E8%AF%A2%E4%BA%86%20%0D%0A*%20%E5%90%8C%E5%AD%A6%E6%9D%A5%E5%B8%AE%E5%BF%99%3B%20%0D%0A*%20%0D%0A*%20%E4%B8%AA%E4%BA%BA%E8%A7%89%E5%BE%97%E9%9A%BE%E7%82%B9%E6%9C%89%E8%BF%99%E4%B9%88%E5%87%A0%E4%B8%AA%3A%20%0D%0A*%201%3A%20%E8%BE%B9%E7%95%8C%E6%A3%80%E6%9F%A5%2C%20%E4%B8%8D%E5%A4%9A%E8%AF%B4%2C%20%E6%83%B3%E9%80%9A%E4%BA%86%E5%B0%B1%E8%A1%8C%20%0D%0A*%202%3A%20%E6%97%8B%E8%BD%AC%2C%20%E8%BF%98%E6%98%AF%E6%95%B0%E5%AD%A6%E4%B8%8A%E7%9A%84%E6%96%B9%E6%B3%95%2C%20%E4%B8%80%E4%B8%AA%E7%82%B9%E7%9B%B8%E5%AF%B9%E5%8F%A6%E5%A4%96%E4%B8%80%E4%B8%AA%E7%82%B9%E6%97%8B%E8%BD%AC90%E5%BA%A6%E7%9A%84%E9%97%AE%E9%A2%98.%20%0D%0A*%204%3A%20%E8%AE%A9%E6%95%B4%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%9C%A8%E7%82%B9%E5%BC%80%E5%A7%8B%E4%B9%8B%E5%90%8E%2C%20%E6%80%8E%E4%B9%88%E8%AE%A9%E5%AE%83%E4%B8%80%E7%9B%B4%E8%87%AA%E5%8A%A8%E7%9A%84%E8%BF%90%E8%A1%8C%E4%B8%8B%E5%8E%BB.%20%E6%88%91%E4%BB%A5%E5%89%8D%E4%B8%80%E7%9B%B4%E6%B2%A1%E6%9C%89%E5%81%9A%E5%AE%8C%2C%20%0D%0A*%20%E4%B8%BB%E8%A6%81%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%B2%A1%E6%9C%89%E6%83%B3%E6%B8%85%E6%A5%9A%E5%88%B0%E5%BA%95%E8%A6%81%E7%94%A8%E4%B8%80%E4%B8%AA%E4%BB%80%E4%B9%88%E6%9C%BA%E5%88%B6%E8%AE%A9%E6%B8%B8%E6%88%8F%E8%87%AA%E5%8A%A8%E8%BF%90%E8%A1%8C%E4%B8%8B%E5%8E%BB%2C%20%0D%0A*%20%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E5%8F%AF%E4%BB%A5%E8%BF%99%E4%B9%88%E7%90%86%E8%A7%A3%3A%20%0D%0A*%20%E7%94%A8%E6%88%B7%E7%82%B9%E5%BC%80%E5%A7%8B-%3E%E6%9E%84%E9%80%A0%E4%B8%80%E4%B8%AA%E6%B4%BB%E5%8A%A8%E5%9B%BE%E5%BD%A2%2C%20%E8%AE%BE%E7%BD%AE%E5%AE%9A%E6%97%B6%E5%99%A8%2C%20%0D%0A*%20%E6%AF%8F%E6%AC%A1%E5%90%91%E4%B8%8B%E7%A7%BB%E5%8A%A8%E5%90%8E%2C%20%E9%83%BD%E6%A3%80%E6%9F%A5%E6%98%AF%E5%90%A6%E8%A7%A6%E5%BA%95%2C%20%E5%A6%82%E6%9E%9C%E8%A7%A6%E5%BA%95%E4%BA%86%2C%20%E5%88%99%E5%B0%9D%E8%AF%95%E6%B6%88%E8%A1%8C%2C%20%0D%0A*%20%E5%AE%8C%E4%BA%86%E4%B9%8B%E5%90%8E%E5%86%8D%E6%9E%84%E9%80%A0%E4%B8%80%E4%B8%AA%E6%B4%BB%E5%8A%A8%E5%9B%BE%E5%BD%A2%2C%20%E5%86%8D%E8%AE%BE%E7%BD%AE%E5%AE%9A%E6%97%B6%E5%99%A8.%20%0D%0A*%2F%20%0D%0A%2F%2F%E8%A1%A8%E7%A4%BA%E9%A1%B5%E9%9D%A2%E4%B8%AD%E7%9A%84table%2C%20%E8%BF%99%E4%B8%AAtable%E5%B0%B1%E6%98%AF%E5%B0%86%E8%A6%81%E6%98%BE%E7%A4%BA%E6%B8%B8%E6%88%8F%E7%9A%84%E4%B8%BB%E9%9D%A2%E6%9D%BF%20%0D%0Avar%20tbl%3B%20%0D%0A%2F%2F%E6%B8%B8%E6%88%8F%E7%8A%B6%E6%80%81%200%3A%20%E6%9C%AA%E5%BC%80%E5%A7%8B%3B1%20%E8%BF%90%E8%A1%8C%3B%202%20%E4%B8%AD%E6%AD%A2%3B%20%0D%0Avar%20status%20%3D%200%3B%20%0D%0A%2F%2F%E5%AE%9A%E6%97%B6%E5%99%A8%2C%20%E5%AE%9A%E6%97%B6%E5%99%A8%E5%86%85%E5%B0%86%E5%81%9AmoveDown%E6%93%8D%E4%BD%9C%20%0D%0Avar%20timer%3B%20%0D%0A%2F%2F%E5%88%86%E6%95%B0%20%0D%0Avar%20score%20%3D%200%3B%20%0D%0A%2F%2Fboard%E6%98%AF%E4%B8%80%E4%B8%AA18*10%E7%9A%84%E6%95%B0%E7%BB%84%2C%E4%B9%9F%E5%92%8C%E9%A1%B5%E9%9D%A2%E7%9A%84table%E5%AF%B9%E5%BA%94.%20%0D%0A%2F%2F%E7%94%A8%E6%9D%A5%E6%A0%87%E6%B3%A8%E9%82%A3%E4%BA%9B%E6%96%B9%E6%A0%BC%E5%B7%B2%E7%BB%8F%E8%A2%AB%E5%8D%A0%E6%8D%AE.%20%E5%88%9D%E5%A7%8B%E6%97%B6%E9%83%BD%E4%B8%BA0%2C%20%E5%A6%82%E6%9E%9C%E8%A2%AB%E5%8D%A0%E6%8D%AE%E5%88%99%E4%B8%BA1%20%0D%0Avar%20board%20%3D%20new%20Array(18)%3B%20%0D%0Afor(var%20i%3D0%3Bi%3C18%3Bi%2B%2B)%7B%20%0D%0Aboard%5Bi%5D%20%3D%20new%20Array(10)%3B%20%0D%0A%7D%20%0D%0Afor(var%20i%3D0%3Bi%3C18%3Bi%2B%2B)%7B%20%0D%0Afor(var%20j%3D0%3B%20j%3C10%3B%20j%2B%2B)%7B%20%0D%0Aboard%5Bi%5D%5Bj%5D%20%3D%200%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%0D%0A%2F%2F%E5%BD%93%E5%89%8D%E6%B4%BB%E5%8A%A8%E7%9A%84%E6%96%B9%E5%9D%97%2C%20%E5%AE%83%E5%8F%AF%E4%BB%A5%E5%B7%A6%E5%8F%B3%E4%B8%8B%E7%A7%BB%E5%8A%A8%2C%20%E5%8F%98%E5%9E%8B.%E5%BD%93%E5%AE%83%E8%A7%A6%E5%BA%95%E5%90%8E%2C%20%E5%B0%86%E4%BC%9A%E6%9B%B4%E6%96%B0board%3B%20%0D%0Avar%20activeBlock%3B%20%0D%0A%2F%2F%E7%94%9F%E4%BA%A7%E6%96%B9%E5%9D%97%E5%BD%A2%E7%8A%B6%2C%20%E6%9C%897%E7%A7%8D%E5%9F%BA%E6%9C%AC%E5%BD%A2%E7%8A%B6.%20%0D%0Afunction%20generateBlock()%7B%20%0D%0AactiveBlock%20%3D%20null%3B%20%0D%0AactiveBlock%20%3D%20new%20Array(4)%3B%20%0D%0A%2F%2Fgenerate%20a%20random%20int%20number%20between%200-6%3B%20%0D%0Avar%20t%20%3D%20(Math.floor(Math.random()*20)%2B1)%257%3B%20%0D%0Aswitch(t)%7B%20%0D%0Acase%200%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A1%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A0%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A1%2C%20y%3A5%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%201%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A3%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A0%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A0%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A0%2C%20y%3A6%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%202%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A1%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A1%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A2%2C%20y%3A4%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%203%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A1%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A1%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A2%2C%20y%3A5%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%204%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A1%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A1%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A1%2C%20y%3A6%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%205%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A1%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A2%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A2%2C%20y%3A5%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%206%3A%7B%20%0D%0AactiveBlock%5B0%5D%20%3D%20%7Bx%3A0%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B1%5D%20%3D%20%7Bx%3A1%2C%20y%3A4%7D%3B%20%0D%0AactiveBlock%5B2%5D%20%3D%20%7Bx%3A1%2C%20y%3A5%7D%3B%20%0D%0AactiveBlock%5B3%5D%20%3D%20%7Bx%3A1%2C%20y%3A6%7D%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E5%88%9A%E7%94%9F%E4%BA%A7%E7%9A%84%E5%9B%9B%E4%B8%AA%E5%B0%8F%E6%96%B9%E6%A0%BC%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E6%94%BE%E5%9C%A8%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%E4%BD%8D%E7%BD%AE.%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0Aif(!isCellValid(activeBlock%5Bi%5D.x%2C%20activeBlock%5Bi%5D.y))%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Areturn%20true%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E5%90%91%E4%B8%8B%E7%A7%BB%E5%8A%A8%20%0D%0Afunction%20moveDown()%7B%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E5%BA%95%E8%BE%B9%E7%95%8C.%20%0D%0Aif(checkBottomBorder())%7B%20%0D%0A%2F%2F%E6%B2%A1%E6%9C%89%E8%A7%A6%E5%BA%95%2C%20%E5%88%99%E6%93%A6%E9%99%A4%E5%BD%93%E5%89%8D%E5%9B%BE%E5%BD%A2%2C%20%0D%0Aerase()%3B%20%0D%0A%2F%2F%E6%9B%B4%E6%96%B0%E5%BD%93%E5%89%8D%E5%9B%BE%E5%BD%A2%E5%9D%90%E6%A0%87%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AactiveBlock%5Bi%5D.x%20%3D%20activeBlock%5Bi%5D.x%20%2B%201%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E9%87%8D%E7%94%BB%E5%BD%93%E5%89%8D%E5%9B%BE%E5%BD%A2%20%0D%0Apaint()%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E8%A7%A6%E5%BA%95%2C%20%0D%0Aelse%7B%20%0D%0A%2F%2F%E5%81%9C%E6%AD%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%AE%9A%E6%97%B6%E5%99%A8%2C%20%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%81%9C%E6%AD%A2%E8%87%AA%E5%8A%A8%E5%90%91%E4%B8%8B%E7%A7%BB%E5%8A%A8.%20%0D%0AclearInterval(timer)%3B%20%0D%0A%2F%2F%E6%9B%B4%E6%96%B0board%E6%95%B0%E7%BB%84.%20%0D%0AupdateBoard()%3B%20%0D%0A%2F%2F%E6%B6%88%E8%A1%8C%20%0D%0Avar%20lines%20%3D%20deleteLine()%3B%20%0D%0A%2F%2F%E5%A6%82%E6%9E%9C%E6%9C%89%E6%B6%88%E8%A1%8C%2C%20%E5%88%99%20%0D%0Aif(lines!%3D0)%7B%20%0D%0A%2F%2F%E6%9B%B4%E6%96%B0%E5%88%86%E6%95%B0%20%0D%0Ascore%20%3D%20score%20%2B%20lines*10%3B%20%0D%0AupdateScore()%3B%20%0D%0A%2F%2F%E6%93%A6%E9%99%A4%E6%95%B4%E4%B8%AA%E9%9D%A2%E6%9D%BF%20%0D%0AeraseBoard()%3B%20%0D%0A%2F%2F%E9%87%8D%E7%BB%98%E9%9D%A2%E6%9D%BF%20%0D%0ApaintBoard()%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E4%BA%A7%E7%94%9F%E4%B8%80%E4%B8%AA%E6%96%B0%E5%9B%BE%E5%BD%A2%E5%B9%B6%E5%88%A4%E6%96%AD%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E6%94%BE%E5%9C%A8%E6%9C%80%E5%88%9D%E7%9A%84%E4%BD%8D%E7%BD%AE.%20%0D%0Aif(!generateBlock())%7B%20%0D%0Aalert(%22Game%20over!%22)%3B%20%0D%0Astatus%20%3D%202%3B%20%0D%0Areturn%3B%20%0D%0A%7D%20%0D%0Apaint()%3B%20%0D%0A%2F%2F%E5%AE%9A%E6%97%B6%E5%99%A8%2C%20%E6%AF%8F%E9%9A%94%E4%B8%80%E7%A7%92%E6%89%A7%E8%A1%8C%E4%B8%80%E6%AC%A1moveDown%20%0D%0Atimer%20%3D%20setInterval(moveDown%2C1000)%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E5%B7%A6%E7%A7%BB%E5%8A%A8%20%0D%0Afunction%20moveLeft()%7B%20%0D%0Aif(checkLeftBorder())%7B%20%0D%0Aerase()%3B%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AactiveBlock%5Bi%5D.y%20%3D%20activeBlock%5Bi%5D.y%20-%201%3B%20%0D%0A%7D%20%0D%0Apaint()%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E5%8F%B3%E7%A7%BB%E5%8A%A8%20%0D%0Afunction%20moveRight()%7B%20%0D%0Aif(checkRightBorder())%7B%20%0D%0Aerase()%3B%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AactiveBlock%5Bi%5D.y%20%3D%20activeBlock%5Bi%5D.y%20%2B%201%3B%20%0D%0A%7D%20%0D%0Apaint()%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E6%97%8B%E8%BD%AC%2C%20%E5%9B%A0%E4%B8%BA%E6%97%8B%E8%BD%AC%E4%B9%8B%E5%90%8E%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9C%89%E6%96%B9%E6%A0%BC%E8%A6%86%E7%9B%96%E5%B7%B2%E6%9C%89%E7%9A%84%E6%96%B9%E6%A0%BC.%20%0D%0A%2F%2F%E5%85%88%E7%94%A8%E4%B8%80%E4%B8%AAtmpBlock%2C%E6%8A%8AactiveBlock%E7%9A%84%E5%86%85%E5%AE%B9%E9%83%BD%E6%8B%B7%E8%B4%9D%E5%88%B0tmpBlock%2C%20%0D%0A%2F%2F%E5%AF%B9tmpBlock%E5%B0%9D%E8%AF%95%E6%97%8B%E8%BD%AC%2C%20%E5%A6%82%E6%9E%9C%E6%97%8B%E8%BD%AC%E5%90%8E%E6%A3%80%E6%B5%8B%E5%8F%91%E7%8E%B0%E6%B2%A1%E6%9C%89%E6%96%B9%E6%A0%BC%E4%BA%A7%E7%94%9F%E5%86%B2%E7%AA%81%2C%E5%88%99%20%0D%0A%2F%2F%E6%8A%8A%E6%97%8B%E8%BD%AC%E5%90%8E%E7%9A%84tmpBlock%E7%9A%84%E5%80%BC%E7%BB%99activeBlock.%20%0D%0Afunction%20rotate()%7B%20%0D%0Avar%20tmpBlock%20%3D%20new%20Array(4)%3B%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AtmpBlock%5Bi%5D%20%3D%20%7Bx%3A0%2C%20y%3A0%7D%3B%20%0D%0A%7D%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AtmpBlock%5Bi%5D.x%20%3D%20activeBlock%5Bi%5D.x%3B%20%0D%0AtmpBlock%5Bi%5D.y%20%3D%20activeBlock%5Bi%5D.y%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E5%85%88%E7%AE%97%E5%9B%9B%E4%B8%AA%E7%82%B9%E7%9A%84%E4%B8%AD%E5%BF%83%E7%82%B9%EF%BC%8C%E5%88%99%E8%BF%99%E5%9B%9B%E4%B8%AA%E7%82%B9%E5%9B%B4%E7%BB%95%E4%B8%AD%E5%BF%83%E6%97%8B%E8%BD%AC90%E5%BA%A6%E3%80%82%20%0D%0Avar%20cx%20%3D%20Math.round((tmpBlock%5B0%5D.x%20%2B%20tmpBlock%5B1%5D.x%20%2B%20tmpBlock%5B2%5D.x%20%2B%20tmpBlock%5B3%5D.x)%2F4)%3B%20%0D%0Avar%20cy%20%3D%20Math.round((tmpBlock%5B0%5D.y%20%2B%20tmpBlock%5B1%5D.y%20%2B%20tmpBlock%5B2%5D.y%20%2B%20tmpBlock%5B3%5D.y)%2F4)%3B%20%0D%0A%2F%2F%E6%97%8B%E8%BD%AC%E7%9A%84%E4%B8%BB%E8%A6%81%E7%AE%97%E6%B3%95.%20%E5%8F%AF%E4%BB%A5%E8%BF%99%E6%A0%B7%E5%88%86%E8%A7%A3%E6%9D%A5%E7%90%86%E8%A7%A3%E3%80%82%20%0D%0A%2F%2F%E5%85%88%E5%81%87%E8%AE%BE%E5%9B%B4%E7%BB%95%E6%BA%90%E7%82%B9%E6%97%8B%E8%BD%AC%E3%80%82%E7%84%B6%E5%90%8E%E5%86%8D%E5%8A%A0%E4%B8%8A%E4%B8%AD%E5%BF%83%E7%82%B9%E7%9A%84%E5%9D%90%E6%A0%87%E3%80%82%20%0D%0A%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AtmpBlock%5Bi%5D.x%20%3D%20cx%2Bcy-activeBlock%5Bi%5D.y%3B%20%0D%0AtmpBlock%5Bi%5D.y%20%3D%20cy-cx%2BactiveBlock%5Bi%5D.x%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E6%97%8B%E8%BD%AC%E5%90%8E%E6%96%B9%E6%A0%BC%E6%98%AF%E5%90%A6%E5%90%88%E6%B3%95.%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0Aif(!isCellValid(tmpBlock%5Bi%5D.x%2CtmpBlock%5Bi%5D.y))%7B%20%0D%0Areturn%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E5%A6%82%E6%9E%9C%E5%90%88%E6%B3%95%2C%20%E6%93%A6%E9%99%A4%20%0D%0Aerase()%3B%20%0D%0A%2F%2F%E5%AF%B9activeBlock%E9%87%8D%E6%96%B0%E8%B5%8B%E5%80%BC.%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0AactiveBlock%5Bi%5D.x%20%3D%20tmpBlock%5Bi%5D.x%3B%20%0D%0AactiveBlock%5Bi%5D.y%20%3D%20tmpBlock%5Bi%5D.y%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E9%87%8D%E7%94%BB.%20%0D%0Apaint()%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E5%B7%A6%E8%BE%B9%E7%95%8C%2C%E5%B0%9D%E8%AF%95%E7%9D%80%E6%9C%9D%E5%B7%A6%E8%BE%B9%E7%A7%BB%E5%8A%A8%E4%B8%80%E4%B8%AA%2C%E7%9C%8B%E6%98%AF%E5%90%A6%E5%90%88%E6%B3%95.%20%0D%0Afunction%20checkLeftBorder()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3CactiveBlock.length%3B%20i%2B%2B)%7B%20%0D%0Aif(activeBlock%5Bi%5D.y%3D%3D0)%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0Aif(!isCellValid(activeBlock%5Bi%5D.x%2C%20activeBlock%5Bi%5D.y-1))%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Areturn%20true%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E5%8F%B3%E8%BE%B9%E7%95%8C%2C%E5%B0%9D%E8%AF%95%E7%9D%80%E6%9C%9D%E5%8F%B3%E8%BE%B9%E7%A7%BB%E5%8A%A8%E4%B8%80%E4%B8%AA%2C%E7%9C%8B%E6%98%AF%E5%90%A6%E5%90%88%E6%B3%95.%20%0D%0Afunction%20checkRightBorder()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3CactiveBlock.length%3B%20i%2B%2B)%7B%20%0D%0Aif(activeBlock%5Bi%5D.y%3D%3D9)%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0Aif(!isCellValid(activeBlock%5Bi%5D.x%2C%20activeBlock%5Bi%5D.y%2B1))%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Areturn%20true%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E5%BA%95%E8%BE%B9%E7%95%8C%2C%E5%B0%9D%E8%AF%95%E7%9D%80%E6%9C%9D%E4%B8%8B%E8%BE%B9%E7%A7%BB%E5%8A%A8%E4%B8%80%E4%B8%AA%2C%E7%9C%8B%E6%98%AF%E5%90%A6%E5%90%88%E6%B3%95.%20%0D%0Afunction%20checkBottomBorder()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3CactiveBlock.length%3B%20i%2B%2B)%7B%20%0D%0Aif(activeBlock%5Bi%5D.x%3D%3D17)%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0Aif(!isCellValid(activeBlock%5Bi%5D.x%2B1%2C%20activeBlock%5Bi%5D.y))%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Areturn%20true%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%A3%80%E6%9F%A5%E5%9D%90%E6%A0%87%E4%B8%BA(x%2Cy)%E7%9A%84%E6%98%AF%E5%90%A6%E5%9C%A8board%E7%A7%8D%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%2C%20%E5%AD%98%E5%9C%A8%E8%AF%B4%E6%98%8E%E8%BF%99%E4%B8%AA%E6%96%B9%E6%A0%BC%E4%B8%8D%E5%90%88%E6%B3%95.%20%0D%0Afunction%20isCellValid(x%2C%20y)%7B%20%0D%0Aif(x%3E17%7C%7Cx%3C0%7C%7Cy%3E9%7C%7Cy%3C0)%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0Aif(board%5Bx%5D%5By%5D%3D%3D1)%7B%20%0D%0Areturn%20false%3B%20%0D%0A%7D%20%0D%0Areturn%20true%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%93%A6%E9%99%A4%20%0D%0Afunction%20erase()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0Atbl.rows%5BactiveBlock%5Bi%5D.x%5D.cells%5BactiveBlock%5Bi%5D.y%5D.style.backgroundColor%3D%22white%22%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E7%BB%98%E6%B4%BB%E5%8A%A8%E5%9B%BE%E5%BD%A2%20%0D%0Afunction%20paint()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0Atbl.rows%5BactiveBlock%5Bi%5D.x%5D.cells%5BactiveBlock%5Bi%5D.y%5D.style.backgroundColor%3D%22red%22%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E6%9B%B4%E6%96%B0board%E6%95%B0%E7%BB%84%20%0D%0Afunction%20updateBoard()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3C4%3B%20i%2B%2B)%7B%20%0D%0Aboard%5BactiveBlock%5Bi%5D.x%5D%5BactiveBlock%5Bi%5D.y%5D%3D1%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E6%B6%88%E8%A1%8C%20%0D%0Afunction%20deleteLine()%7B%20%0D%0Avar%20lines%20%3D%200%3B%20%0D%0Afor(var%20i%3D0%3B%20i%3C18%3B%20i%2B%2B)%7B%20%0D%0Avar%20j%3D0%3B%20%0D%0Afor(%3B%20j%3C10%3B%20j%2B%2B)%7B%20%0D%0Aif(board%5Bi%5D%5Bj%5D%3D%3D0)%7B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Aif(j%3D%3D10)%7B%20%0D%0Alines%2B%2B%3B%20%0D%0Aif(i!%3D0)%7B%20%0D%0Afor(var%20k%3Di-1%3B%20k%3E%3D0%3B%20k--)%7B%20%0D%0Aboard%5Bk%2B1%5D%20%3D%20board%5Bk%5D%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Aboard%5B0%5D%20%3D%20generateBlankLine()%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0Areturn%20lines%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%93%A6%E9%99%A4%E6%95%B4%E4%B8%AA%E9%9D%A2%E6%9D%BF%20%0D%0Afunction%20eraseBoard()%7B%20%0D%0Afor(var%20i%3D0%3B%20i%3C18%3B%20i%2B%2B)%7B%20%0D%0Afor(var%20j%3D0%3B%20j%3C10%3B%20j%2B%2B)%7B%20%0D%0Atbl.rows%5Bi%5D.cells%5Bj%5D.style.backgroundColor%20%3D%20%22white%22%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E9%87%8D%E7%BB%98%E6%95%B4%E4%B8%AA%E9%9D%A2%E6%9D%BF%20%0D%0Afunction%20paintBoard()%7B%20%0D%0Afor(var%20i%3D0%3Bi%3C18%3Bi%2B%2B)%7B%20%0D%0Afor(var%20j%3D0%3B%20j%3C10%3B%20j%2B%2B)%7B%20%0D%0Aif(board%5Bi%5D%5Bj%5D%3D%3D1)%7B%20%0D%0Atbl.rows%5Bi%5D.cells%5Bj%5D.style.backgroundColor%20%3D%20%22red%22%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E4%BA%A7%E7%94%9F%E4%B8%80%E4%B8%AA%E7%A9%BA%E7%99%BD%E8%A1%8C.%20%0D%0Afunction%20generateBlankLine()%7B%20%0D%0Avar%20line%20%3D%20new%20Array(10)%3B%20%0D%0Afor(var%20i%3D0%3B%20i%3C10%3B%20i%2B%2B)%7B%20%0D%0Aline%5Bi%5D%20%3D%200%3B%20%0D%0A%7D%20%0D%0Areturn%20line%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E6%9B%B4%E6%96%B0%E5%88%86%E6%95%B0%20%0D%0Afunction%20updateScore()%7B%20%0D%0Adocument.getElementById(%22score%22).innerText%3D%22%20%22%20%2B%20score%3B%20%0D%0A%7D%20%0D%0A%2F%2F%E9%94%AE%E7%9B%98%E6%8E%A7%E5%88%B6%20%0D%0Afunction%20keyControl()%7B%20%0D%0Aif(status!%3D1)%7B%20%0D%0Areturn%3B%20%0D%0A%7D%20%0D%0Avar%20code%20%3D%20event.keyCode%3B%20%0D%0Aswitch(code)%7B%20%0D%0Acase%2037%3A%7B%20%0D%0AmoveLeft()%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%2038%3A%7B%20%0D%0Arotate()%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%2039%3A%7B%20%0D%0AmoveRight()%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0Acase%2040%3A%7B%20%0D%0AmoveDown()%3B%20%0D%0Abreak%3B%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%7D%20%0D%0A%2F%2F%E5%BC%80%E5%A7%8B%20%0D%0Afunction%20begin(e)%7B%20%0D%0Ae.disabled%20%3D%20true%3B%20%0D%0Astatus%20%3D%201%3B%20%0D%0Atbl%20%3D%20document.getElementById(%22board%22)%3B%20%0D%0Aif(!generateBlock())%7B%20%0D%0Aalert(%22Game%20over!%22)%3B%20%0D%0Astatus%20%3D%202%3B%20%0D%0Areturn%3B%20%0D%0A%7D%20%0D%0Apaint()%3B%20%0D%0Atimer%20%3D%20setInterval(moveDown%2C1000)%3B%20%0D%0A%7D%20%0D%0Adocument.onkeydown%3DkeyControl%3B%20%0D%0A%3C%2Fscript%3E"> <body> <Input type="button" value="begin" onclick="begin(this);"/> Score: <span id="score"> 0</span> <table id="board" cellspacing=0 cellpadding=0 border=1 style="border-collapse:collapse;"> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> </body> </html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行
]
教程首页
更多教程