純JS實現俄羅斯方塊,打造屬於你的遊戲帝國

2021-09-06 10:42:54 字數 3293 閱讀 9089

純js俄羅斯方塊,打造屬於你的遊戲帝國。

本文原始作者部落格

俄羅斯方塊(tetris, 俄文:тетрис)是一款電視遊戲機和掌上遊戲機遊戲,它由俄羅斯人阿列克謝·帕基特諾夫發明,故得此名。

俄羅斯方塊的基本規則是移動、旋轉和擺放遊戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單、老少皆宜,從而家喻戶曉,風靡世界。

那麼,我們的問題來了,學挖掘機技術哪家強?

請叫我頭頭哥的部落格, 請尊重版權,

跳轉至原博文預覽。

俄羅斯方塊可以說是風靡全世界,老少皆知的一款遊戲, 那麼我們作為web開發是否可以使用**簡單實現這個小遊戲呢?

html**部分:

1

doctype html

>

2<

html

>

3<

head

>

4head

>

5<

body

>

6<

h2 style

="background-color:yellow;"

>:請叫我頭頭哥

h2>

7<

div

id="box"

>

div>

8<

div

id="info"

>

9next:

10<

div

id="next"

>

div>

11<

div

id="text"

>

div>

12div

>

13body

>

14html

>

css部分:

body #box #info #next
js部分:

1

var map = eval("[" + array(23).join("0x801,") + "0xfff]");

2var tatris = [[0x6600], [0x2222, 0xf00], [0xc600, 0x2640], [0x6c00, 0x4620], [0x4460, 0x2e0, 0x6220, 0x740], [0x2260, 0xe20, 0x6440, 0x4700], [0x2620, 0x720, 0x2320, 0x2700]];

3var

char = ;

4var keycom = ;

5var dia, pos, bak, run, next, pause = false, info = ;67

//開始時間

8function

start() ;

16nextdia();

17 document.getelementbyid("next").innerhtml = (next.d[next.s % next.d.length] | 0x10000).tostring(2).slice(-16).replace(/..../g, "$&

").replace(/1/g, char.t).replace(/0/g, char

.x);

18 document.getelementbyid("text").innerhtml = "score:" + info.score + "

lines:" + info.lines + "

speed:" +info.speed;

19 rotate(0);

20 run = setinterval("pause||down()", ~ ~(math.pow(1.3, 12 - info.speed) * 30 + 20));21}

2223

//遊戲結束時事件

24function

over() else34}

3536

function

nextdia() ;38}

3940

function

update(t) ;

42if (t) return;43

for (var i = 0, a2 = ""; i < 22; i++) a2 += map[i].tostring(2).slice(1, -1) + "

";44

for (var i = 0, n; i < 4; i++)

45if (/([^0]+)/.test(bak.fk[i].tostring(2).replace(/1/g, char

.t)))

46 a2 = a2.substr(0, n = (bak.y + i + 1) * 15 - regexp.$_.length - 4) + regexp.$1 + a2.slice(n + regexp.$1.length);

47 document.getelementbyid("box").innerhtml = a2.replace(/1/g, char.s).replace(/0/g, char

.x);48}

4950

function

is()

5556

function

rotate(r)

6263

function

down()

71clearinterval(run);

72if (map[1] != 0x801)

73return

over();

74 info.score += ~ ~(math.pow(r, 1.5) * 10) + 2;

75start();76}

77update();78}

7980

function

move(t, k)

8687 document.onkeydown = function

(e) ;

90nextdia();

91 start();

實現效果圖:

本文原始作者部落格

純JS俄羅斯方塊,打造屬於你的遊戲帝國。

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

純JS俄羅斯方塊

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

js 實現俄羅斯方塊(三)

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