純JS俄羅斯方塊

2021-07-02 07:34:30 字數 3055 閱讀 3463

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

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

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

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

html**部分:

"box"

>

"info"

next: 

"next"

>

"text"

>

css部分:

body  

#box  

#info  

#next  

js部分:

var map = eval(

"["+ array(

23).join(

"0x801,"

) + 

"0xfff]"

); var tatris = [[0x6600

], [

0x2222

, 0xf00

], [

0xc600

, 0x2640

], [

0x6c00

, 0x4620

], [

0x4460

, 0x2e0

, 0x6220

, 0x740

], [

0x2260

, 0xe20

, 0x6440

, 0x4700

], [

0x2620

, 0x720

, 0x2320

, 0x2700

]]; 

var char

= ; 

var keycom = ; 

var dia, pos, bak, run, next, pause = false

, info = ; 

// 開始時間

function start() ; 

nextdia(); 

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); 

document.getelementbyid("text"

).innerhtml = 

"score:"

+ info.score + 

"lines:"

+ info.lines + 

"speed:"

+ info.speed; 

rotate(0

); run = setinterval("pause||down()"

, ~ ~(math.pow(

1.3, 

12- info.speed) * 

30+ 

20)); 

} // 遊戲結束時事件

function over()  else } 

function nextdia() ; 

} function update(t) ; 

if(t) 

return

; for

(var i = 

0, a2 = 

""; i 

22; i++) a2 += map[i].tostring(

2).slice(

1, -

1) + ""

; for

(var i = 

0, n; i 

4; i++) 

if(/([^

0]+)/.test(bak.fk[i].tostring(

2).replace(/

1/g, 

char

.t))) 

a2 = a2.substr(0

, n = (bak.y + i + 

1) * 

15- regexp.$_.length - 

4) + regexp.$

1+ a2.slice(n + regexp.$

1.length); 

document.getelementbyid("box"

).innerhtml = a2.replace(/

1/g, 

char

.s).replace(/

0/g, 

char

.x); 

} function is()  

function rotate(r)  

function down()  

clearinterval(run); 

if(map[

1] != 

0x801

) return

over(); 

info.score += ~ ~(math.pow(r, 1.5

) * 

10) + 2; 

start(); 

} update(); 

} function move(t, k)  

document.onkeydown = function (e) ; 

nextdia(); 

start(); 

實現效果圖:

本文原始作者部落格

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

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

俄羅斯方塊

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

俄羅斯方塊

include include include include includeusing namespace std include include define mem a,b memset a,b,sizeof a const int sudu 40 const int dir 4 2 cons...