課程
/前端開發(fā)
/HTML/CSS
/基于websocket的火拼俄羅斯(單機版)
10:09秒處 181-183 行 ?代碼做什么用的,? 代碼邏輯 ?消除第0行(最高一層 ) 為空。 意義何在?
2017-12-29
源自:基于websocket的火拼俄羅斯(單機版) 2-7
正在回答
你有其他聯(lián)系方式嗎?老師的代碼沒有錯,這一部分的邏輯我整理很久,算是很通了,可以給你說一下。你上面的人的答案邏輯是對的,如果你理解不來,把你發(fā)的截圖中的每一個if語句/for循環(huán)語句的功能完全明白,最好能夠結合游戲矩陣畫圖表示前后變化,你明白了
創(chuàng)心 提問者
//?消行 const?checkClear?=?()?=>?{ ????for(let?i=gameData.length-1;?i>=0;?i--){ ????????if(gameData[i].every(item?=>?item?===?1)){ ????????//?從底部開始,遍歷是否有一行全為1,是則滿足消行條件,將這一行拋出,并在gameData最頂端加一個空行 ????????gameData?=?[ ????????????[0,?0,?0,?0,?0,?0,?0,?0,?0,?0], ????????????...gameData.slice(0,?i), ????????????...gameData.slice(i?+?1) ????????????] ????????} ????} }
忍不住這么寫。。。
16-19層 有放塊, 19層消行, 16層跌落到17層,此時15層為空,同樣會跌落到16層,即16層變?yōu)榭?數(shù)據(jù)清除)
因為最頂層(gameData[0])沒有上一層了,需要手動將其設置為0,gameData[0][n] = 0
注意循環(huán)遍歷的是所有行,從最底層到最頂層,并不是到有方塊的那層就停止
為什么我的固定方法不起作用??!
gameData[0][n] 永遠代表清除第0行的數(shù)據(jù)? ,我16-19層 有放塊, 19層消行, 16層跌落到17層, 原來16層數(shù)據(jù)并沒有清除, 而是清除的0層數(shù)據(jù), 老師把這里寫死了,明顯是錄視頻多次忘了改掉,實際運行會是個變量。
風之承
我給你講一下消行的整個邏輯,就是先一個大循環(huán),遍歷所有行,如果有一行是全1,就把所有方塊往下移一行,對應的是gameData[m][n] = gameData[m-1][n]這段代碼,然后最高層的就要變?yōu)榭?,也就是?,也就是你問的。
舉報
前端大牛帶你實現(xiàn)單機版俄羅斯方塊!
2 回答無法消行的問題
1 回答請問這個代碼總共下來大約多少行
1 回答為什么出現(xiàn)className未定義
2 回答有沒有源代碼呀
1 回答這里的原點是什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2018-01-15
你有其他聯(lián)系方式嗎?老師的代碼沒有錯,這一部分的邏輯我整理很久,算是很通了,可以給你說一下。
你上面的人的答案邏輯是對的,如果你理解不來,把你發(fā)的截圖中的每一個if語句/for循環(huán)語句的功能完全明白,最好能夠結合游戲矩陣畫圖表示前后變化,你明白了
2019-02-10
忍不住這么寫。。。
2018-08-05
16-19層 有放塊, 19層消行, 16層跌落到17層,此時15層為空,同樣會跌落到16層,即16層變?yōu)榭?數(shù)據(jù)清除)
因為最頂層(gameData[0])沒有上一層了,需要手動將其設置為0,gameData[0][n] = 0
注意循環(huán)遍歷的是所有行,從最底層到最頂層,并不是到有方塊的那層就停止
2018-04-08
為什么我的固定方法不起作用??!
2018-01-01
gameData[0][n] 永遠代表清除第0行的數(shù)據(jù)? ,我16-19層 有放塊, 19層消行, 16層跌落到17層, 原來16層數(shù)據(jù)并沒有清除, 而是清除的0層數(shù)據(jù), 老師把這里寫死了,明顯是錄視頻多次忘了改掉,實際運行會是個變量。
2017-12-31
我給你講一下消行的整個邏輯,就是先一個大循環(huán),遍歷所有行,如果有一行是全1,就把所有方塊往下移一行,對應的是gameData[m][n] = gameData[m-1][n]這段代碼,然后最高層的就要變?yōu)榭?,也就是?,也就是你問的。