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