爲熟悉es6增長趣味性css
提升開發動力git
balabalabala....編不下去了es6
俄羅斯方塊用es6寫,無通過babel轉es5,示例請用支持es6的chrome 俄羅斯方塊用es6寫,無通過babel轉es5,示例請用支持es6的chrome. 俄羅斯方塊用es6寫,無通過babel轉es5,示例請用支持es6的chrome.
俄羅斯方塊
的形狀&規則形狀github
每一個方塊
均可看做一個二維數組,須要填充的部分爲1,留空爲0.chrome
規則segmentfault
上方向鍵 ===> 方塊順時針形變數組
左方向鍵 ===> 方塊向左移動babel
右方向鍵 ===> 方塊向右移動dom
空格鍵 ===> 方塊加速下落函數
方塊掉落自動掉落
方塊集齊滿一排消除
方塊到頂部視爲失敗
在`document.body`添加一個方塊,並綁定`document.onkeydown`,讓方塊跟隨鍵盤方向鍵動起來.
在`document.body`添加一個畫布,每次方塊運動前判斷對應方向可否移動
俄羅斯方塊
根據數組矩陣判斷值爲1的下標,利用獲得的下標對各個小方塊進行定位,從而得出一整塊俄羅斯方塊
.
判斷可否移動則根據繪製出的俄羅斯方塊
取最值,根據最值比對邊界便可.
俄羅斯方塊
形變利用變量記錄俄羅斯方塊
當前位置
數組矩陣順時針旋轉後返回數組矩陣&每一個方塊的偏移量
利用矩陣判斷俄羅斯方塊
能移動的邊界
俄羅斯方塊
自由下落利用setTimeout方法指定必定時間下方塊下落20px
每次下落期間判斷當前方塊
可移動邊界
當前方塊
不可再位移時,方塊
變灰,新的方塊
出現
俄羅斯方塊
消除每次俄羅斯方塊
下落結束時,判斷每一行小方塊個數
方塊
個數等於畫布寬度/方塊
,則取出該行方塊
集合並從document.body
消除
消除後將高度高於該消除行的方塊
掉落一個方塊
高度
讓方塊
在按空格鍵的時候,下落2個單位的BLOCK_SIZE,也就是40px
須要在canMove
函數中添加displacement
(位移)參數標識方塊
下落的位移量
判斷方塊
是否到達最高位置,須要加上位移量的距離
方塊
增長計分板
增長等級判斷
增長下一個方塊提示
增長操做提示