1976年贪婪的嘴唇,韩国少妇激三级做爰2023电影,久久久久久精品国产三级涨奶,妖精漫画在线观看免费漫画下拉式

HTML5+JS實現俄羅斯方塊原理及具體步驟
來源:易賢網 閱讀:1406 次 日期:2016-07-12 13:49:46
溫馨提示:易賢網小編為您整理了“HTML5+JS實現俄羅斯方塊原理及具體步驟”,方便廣大網友查閱!

俄羅斯方塊有7個部件,每個部件所占的矩形的個數和位置不同,所以建立部件類,然后建立數組儲存7個部件,每個部件包涵數組儲存該部件所占的矩形的個數和位置,下面為大家詳細介紹下

本游戲實現的基本原理:

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

創建RusBlock類包含相應的數據和行為,創建二維數組aState[21][25]記錄游戲區域中被標記的矩形。

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

在游戲循環函數中,打印正在下落的部件,和已經固定好的部件,還有下一下落的部件。

基本知識:

HTML5 CSS JS

本游戲包括三個文件:

RusBlock.html:設定元素

RusBlock.css:設定樣式

RusBlock.js:腳本控制

第一步:界面的設置和素材的準備

RusBlock.html

代碼如下:

<!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

代碼如下:

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;

}

第三步:編寫js代碼

RusBlock.js

Rusblock類包括的成員解析:

數據:

nCurrentComID:當前下落部件的ID

aState[21][25]:存儲游戲區域狀態的數組

CurrentCom:當前下落的部件

NextCom:下一部件

ptIndex:當前下落的部件相對游戲區域的索引

函數:

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

NextComToCurrentCom():將下一部件的數據轉移到當前下落的部件上

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

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

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

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

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

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

Disappear():消去一行

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

InvalidateRect():刷新當前部件的區域

下載Demo

更多信息請查看網頁制作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
主站蜘蛛池模板: 嘉鱼县| 济南市| 泌阳县| 安龙县| 南汇区| 西畴县| 仲巴县| 浮山县| 丰镇市| 仁布县| 儋州市| 秀山| 遂平县| 盐源县| 长泰县| 大理市| 普兰店市| 拉孜县| 平乡县| 南京市| 怀柔区| 广平县| 呼图壁县| 滨海县| 防城港市| 马边| 德惠市| 驻马店市| 奇台县| 科技| 白朗县| 安新县| 湟源县| 宿州市| 越西县| 香河县| 宿松县| 科技| 柳林县| 玛纳斯县| 安泽县|