欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

HTML5+JS實(shí)現(xiàn)俄羅斯方塊原理及具體步驟

  發(fā)布時(shí)間:2013-11-29 16:23:13   作者:佚名   我要評(píng)論
俄羅斯方塊有7個(gè)部件,每個(gè)部件所占的矩形的個(gè)數(shù)和位置不同,所以建立部件類,然后建立數(shù)組儲(chǔ)存7個(gè)部件,每個(gè)部件包涵數(shù)組儲(chǔ)存該部件所占的矩形的個(gè)數(shù)和位置,下面為大家詳細(xì)介紹下
本游戲?qū)崿F(xiàn)的基本原理:

游戲區(qū)域是限定大小的區(qū)域,本游戲的游戲區(qū)域有21×25個(gè)矩形,每個(gè)矩形width為10單位,heght為6個(gè)單位(canvas 的絕對(duì)單位是固定的,非像素)。

創(chuàng)建RusBlock類包含相應(yīng)的數(shù)據(jù)和行為,創(chuàng)建二維數(shù)組aState[21][25]記錄游戲區(qū)域中被標(biāo)記的矩形。

俄羅斯方塊有7個(gè)部件,每個(gè)部件所占的矩形的個(gè)數(shù)和位置不同,所以建立部件類,然后建立數(shù)組儲(chǔ)存7個(gè)部件,每個(gè)部件包涵數(shù)組儲(chǔ)存該部件所占的矩形的個(gè)數(shù)和位置。當(dāng)下落的部件到底了,就會(huì)產(chǎn)生一個(gè)新的部件,就部件的被標(biāo)記的矩形就會(huì)賦值給游戲區(qū)域的數(shù)組。

在游戲循環(huán)函數(shù)中,打印正在下落的部件,和已經(jīng)固定好的部件,還有下一下落的部件。

基本知識(shí):

HTML5 CSS JS
本游戲包括三個(gè)文件:

RusBlock.html:設(shè)定元素
RusBlock.css:設(shè)定樣式
RusBlock.js:腳本控制

第一步:界面的設(shè)置和素材的準(zhǔn)備

RusBlock.html

復(fù)制代碼
代碼如下:

<!DOCTYPE html>
<html>
<head>
<title>RusBlock</title>
<link rel=”stylesheet” type=”text/css” href=”RusBlock.css”>
<script type=”text/javascript”>
function ShareGame() {
var URL = “http://share.renren.com/share/buttonshare.do?link=” + document.URL + “&title=RusBlock”;
window.showModalDialog([URL]);
}
</script>
</head>
<body onkeyup=”Action(event)”>
<audio loop=”loop” id=”Background-AudioPlayer” preload=”auto”>
<source src=”audio/background.mp3″ type=”audio/mp3″/>
</audio>
<audio id=”GameOver-AudioPlayer” preload=”auto”>
<source src=”audio/gameover.ogg” type=”audio/ogg”>
</audio>
<audio id=”Score-AudioPlayer” preload=”auto”>
<source src=”audio/score.mp3″ type=”audio/mp3″/>
</audio>
<div id=”Game-Area”>
<div id=”Button-Area”>
<h1 id=”Game-Name”>RusBlock</h1>
<button id=”Button-Game-Start” onclick=”GameStart()”>Start</button>
<button id=”Button-Game-End” onclick=”GameEnd()”>End</button>
<form id=”Form-Game-Level”>
<select id=”Select-Game-Level”>
<option value=”500″ selected=”selected”>Easy</option>
<option value=”300″>Normal</option>
<option value=”200″>Hard</option>
</select>
</form>
<button onclick=”ShareGame()” id=”Button-Game-Share”>分享到人人</button>
</div>
<canvas id=”Game-Canvas”></canvas>
<div id=”Score-Area”>
<h2>Score</h2>
<p id=”Game-Score”>0</p>
</div>
</div>
<script type=”text/javascript” src=”RusBlock.js”></script>
</body>
</html>

第二步:樣式
RosBlock.css

復(fù)制代碼
代碼如下:

body {
background-color:gray;
text-align:center;
font-family:’Times New Roman’;
background-image:url(“”);
}
h1#Game-Name {
background-color:white;
width:100%;
font-size:x-large;
}
h2,#Game-Score {
font-size:x-large;
background-color:white;
}
#Game-Area {
position:absolute;
left:10%;
width:80%;
height:99%;
}
canvas#Game-Canvas {
background-color:white;
width:80%;
height:98%;
float:left;
}
#Button-Area ,#Score-Area{
width:10%;
height:100%;
float:left;
}
#Button-Game-Start ,#Button-Game-End,#Button-Game-Share,#Select-Game-Level{
width:100%;
height:10%;
font-size:larger;
border-right-width:3px;
background-color:white;
}
#Select-Game-Level {
width:100%;
height:100%;
font-size:x-large;
border-color:gray;
}

第三步:編寫(xiě)js代碼

RusBlock.js

Rusblock類包括的成員解析:

數(shù)據(jù):

nCurrentComID:當(dāng)前下落部件的ID

aState[21][25]:存儲(chǔ)游戲區(qū)域狀態(tài)的數(shù)組

CurrentCom:當(dāng)前下落的部件

NextCom:下一部件

ptIndex:當(dāng)前下落的部件相對(duì)游戲區(qū)域的索引

函數(shù):

NewNextCom():產(chǎn)生新的下一部件

NextComToCurrentCom():將下一部件的數(shù)據(jù)轉(zhuǎn)移到當(dāng)前下落的部件上

CanDown():判斷當(dāng)前部件是否還可以下落

CanNew():判斷是否還可以產(chǎn)生新的部件

Left():當(dāng)前部件向左移動(dòng)

Right():當(dāng)前部件向右移動(dòng)

Rotate():當(dāng)前部件順時(shí)針旋轉(zhuǎn)

Acceleratet():當(dāng)前部件向下加速

Disappear():消去一行

CheckFail():判斷是否游戲失敗

InvalidateRect():刷新當(dāng)前部件的區(qū)域

完成:下載Demo

相關(guān)文章

  • Html5原創(chuàng)俄羅斯方塊(基于canvas)

    這篇文章主要介紹了Html5原創(chuàng)俄羅斯方塊(基于canvas)的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-07
  • html5實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊動(dòng)畫(huà)效果游戲源碼

    這是一款基于html5實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊動(dòng)畫(huà)效果游戲源碼。游戲中玩家通過(guò)鍵盤(pán)控制掉落方塊的變形與下落,當(dāng)方塊消除時(shí)會(huì)呈現(xiàn)出粒子爆破散開(kāi)的動(dòng)畫(huà)視覺(jué)效果,同時(shí)界面上彈
    2017-10-13
  • html5實(shí)現(xiàn)的3D立體俄羅斯方塊游戲源碼

    這是一款基于html5實(shí)現(xiàn)的3D俄羅斯方塊游戲源碼,可實(shí)現(xiàn)3d俄羅斯方塊網(wǎng)頁(yè)游戲效果。游戲中的俄羅斯方塊底部可以旋轉(zhuǎn),并有方塊落點(diǎn)預(yù)覽效果。整體立體感強(qiáng),游戲可玩性高。
    2014-09-12
  • 基于HTML5/CSS3實(shí)現(xiàn)的簡(jiǎn)易版俄羅斯方塊游戲源碼

    這是一款基于HTML5/CSS3制作的俄羅斯方塊游戲,這款游戲相對(duì)簡(jiǎn)易,外觀簡(jiǎn)介,功能齊全,具有俄羅斯方塊的移動(dòng)、翻轉(zhuǎn)及消除等基本的功能
    2014-06-30
  • Html5寫(xiě)一個(gè)簡(jiǎn)單的俄羅斯方塊小游戲

    這篇文章主要介紹了基于Html5寫(xiě)一個(gè)簡(jiǎn)單的俄羅斯方塊小游戲,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-12-03

最新評(píng)論