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