HTML5 JS實現俄羅斯方塊

2021-06-19 10:52:09 字數 1143 閱讀 7847

遊戲區域是限定大小的區域,本遊戲的遊戲區域有21×25個矩形,每個矩形width為10單位,heght為6個單位(canvas 的絕對單位是固定的,非畫素)。

建立rusblock類包含相應的資料和行為,建立二維陣列astate[21][25]記錄遊戲區域中被標記的矩形。

俄羅斯方塊有7個部件,每個部件所佔的矩形的個數和位置不同,所以建立部件類,然後建立陣列儲存7個部件,每個部件包涵陣列儲存該部件所佔的矩形的個數和位置。當下落的部件到底了,就會產生乙個新的部件,就部件的被標記的矩形就會賦值給遊戲區域的陣列。

在遊戲迴圈函式中,列印正在下落的部件,和已經固定好的部件,還有下一下落的部件。

html5 css js

rusblock.html:設定元素

rusblock.css:設定樣式

rusblock.js:指令碼控制

start

end分享到人人

0body

h1#game-name

h2,#game-score

#game-area

canvas#game-canvas

#button-area ,#score-area

#button-game-start ,#button-game-end,#button-game-share,#select-game-level

#select-game-level

rusblock類包括的成員解析:

資料:ncurrentcomid:當前下落部件的id

astate[21][25]:儲存遊戲區域狀態的陣列

currentcom:當前下落的部件

nextcom:下一部件

ptindex:當前下落的部件相對遊戲區域的索引

函式:nextcomtocurrentcom():將下一部件的資料轉移到當前下落的部件上

candown():判斷當前部件是否還可以下落

cannew():判斷是否還可以產生新的部件

left():當前部件向左移動

right():當前部件向右移動

rotate():當前部件順時針旋轉

acceleratet():當前部件向下加速

checkfail():判斷是否遊戲失敗

invalidaterect():重新整理當前部件的區域

js 實現俄羅斯方塊(三)

嘿嘿,首先我們先搭建遊戲世界 網格 所有的操作包括左移右移下移旋轉都是在這個網格中 既然是使用js來寫當然跑不了html啦,實現網格最簡單的 方法就是用html的 了!那麼 第一步 畫 畫乙個長寬相等的 上面 畫格仔 var line 30 行數var size 20 列數for i 0 i lin...

俄羅斯方塊高階 AI俄羅斯方塊

前文回顧 致青春 python實現俄羅斯方塊 人工智慧大火的今天,如果還是自己玩俄羅斯方塊未免顯得太low,為什麼不對遊戲公升級,讓機器自己去玩俄羅斯方塊呢?有了這個想法之後利用週六週日兩天的時間去蒐集了大量的資料,在電腦宕機好多次之後終於將ai俄羅斯方塊實現了。所謂讓機器自己去玩俄羅斯方塊,就是讓...

俄羅斯方塊

俄羅斯方塊 tetris,俄文 是一款風靡全球的電視遊戲機 和掌上遊戲機遊戲,它由俄羅斯人阿列克謝 帕基特諾夫 發明,故得此名。俄羅斯方塊的基本規則是移動 旋轉和擺放遊戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單 老少皆宜,從而家喻戶曉,風靡世界。俄羅斯方塊的開發者是阿...