單擊俄羅斯方塊,課程2-7 消行函數(shù)出現(xiàn)顯示異常
課程鏈接:http://idcbgp.cn/video/15604
代碼如下:
for(var i=gameData.length-1; i>=0; i--) {
? ?// 創(chuàng)建標(biāo)志位
? ?var clear = true;
? ?// 檢查該行是否符合條件——存在數(shù)據(jù)不為1、clear為false
? ?for(var j=0; j<gameData[i].length; j++) {
? ? ? ?if(gameData[i][j] != 1) {
? ? ? ? ? ?clear = false;
? ? ? ? ? ?break; // 結(jié)束該內(nèi)循環(huán),進(jìn)入下一個(gè)內(nèi)循環(huán)或者結(jié)束
? ? ? ?}
? ?}
? ?// 經(jīng)歷上面步驟,需要消除該行:上面每一行下移,第一行置0;i++
? ?if(clear) {
? ? ? ?for(var m=i; m>0;m--) {
? ? ? ? ? ?gameData[m] = gameData[m-1];? ? ?// 引起異常代碼
? ? ? ? ? ?// for(var n=0; n<gameData[m].length; n++) {
? ? ? ? ? ?// ? ? gameData[m][n] = gameData[m-1][n];
? ? ? ? ? ?// }
? ? ? ?}
? ? ? ?// 第一行置0
? ? ? ?for(var n=0; n<gameData[0].length; n++) {
? ? ? ? ? ?gameData[0][n] = 0;
? ? ? ?}
? ? ? ?i++
? ?}
}
(1)中間加粗傾斜代碼引起異常,異常代碼下面的注釋代碼為可替換的正常代碼
(2)只有產(chǎn)生一次消行操作后,才會(huì)出現(xiàn)下面截圖的顯示異常:方塊重影、沒(méi)有及時(shí)消除
(2)
2018-05-13
?for(var j=0; j<gameData[i].length; j++) {
? ?i改為0
2018-02-04
數(shù)組深拷貝
2018-01-15
題目是“單機(jī)俄羅斯方塊,課程2-7……”