最近有朋友找我用js幫忙仿做乙個別踩白塊的小遊戲程式,但他給的源**較麻煩,而且沒有注釋,理解起來很無力,我就以自己的想法自己做了這個小遊戲,主要是應用js對dom和陣列的操作。
程式思路:如圖:將遊戲區域的css設定為相對定位、溢位隱藏;兩塊「遊戲板」上分別排布著24塊方格,黑色每行隨機產生乙個,「遊戲板」向下滾動並交替顯示,將每個操作板的黑塊位置存入陣列,每次點選時將陣列pop出來進行比對(我覺得亮點在這……)。
以下是具體實現,關鍵部分有注釋。
html部分:
doctype htmlcss部分:>
<
html
>
<
head
>
<
title
>別踩白塊
title
>
head
>
<
body
>
<
div
id="gamezone"
><
div
id="boardb"
style
="position: absolute;top: 0px;"
>
div>
div>
//初始化乙個boardb,使ab同時存在
body
>
html
>
*//簡單的reset一下,並用box-sizing設定盒子尺寸將邊框也計算進去,便於後面計算小方塊位置js部分:這裡分函式介紹:#gamezone//遊戲區域,多兩個畫素是為了除去邊框外還有足夠的300*600的空間
.square.squareblack//每個小方塊為75*100,並且設定黑色小方塊的背景色。
全域性變數初始化
var loc=600;//每次點選判定結果的函式黑塊落地失敗判定
var count=0;//
初始化擊中黑塊總數
var locarr=;//
初始化遊戲板上黑塊位置的
var order=(function
()})()
//用閉包函式使每次建立的遊戲板的id為boarda與boardb,其實用乙個全域性變數也行,不過為了有點逼格。。。
function產生大框中小黑框位置的隨機數,每次建立遊戲板時呼叫此函式,根據產生數定義小黑塊的位置judge()
else
if(count!=0&&count%15==0)
//每擊中15個後將速度加快一點,這個式子可自行定義。
}
function每次呼叫在遊戲區域的上方生成乙個待往下滾動的遊戲板,並將其黑色的部分的數字push進locarr中generaterand()
return
numarr;
}
function找到指令碼中存在的兩個遊戲板,使其往下滾動drawboard()
else
ele.addeventlistener('click',judge,false); //
給每乙個小方格新增點選判定函式judge
}var gamezone=document.getelementbyid('gamezone');
}
function將主體呼叫寫在window.onload函式裡,使得頁面的遊戲區域載入完成後再呼叫函式。fall()
anowtop+=5;
boarda.style.top=anowtop+"px";
var boardb=document.getelementbyid('boardb');
var bnowtop=parseint(boardb.style.top);
if(bnowtop==595)
bnowtop+=5;
boardb.style.top=bnowtop+"px";
loc-=5;
if(loc==0)
//每一幀將落地判定減5,當落地判定為0時表示落地,結算分數。
}
window.onload=function遊戲擴充套件:增加頁面ui:因為一開始的html特別簡單,所以ui也很好修改,設定按鈕,點選觸發開始函式。()
改變遊戲難度:修改setinterval的值,也可以對judge函式內的間隔數目進行修改,或將下落加速的表示式優化一下。
增加比分排行等:用ajax連線伺服器,在遊戲結束後將結果寫入資料庫,並引用資料中的排行榜。
改為街機模式:去除定時,修改judge函式,使其每次點選遊戲板下落乙個小方格的高度。設定總數,開始計時,結束計時。
用c 編寫別踩白塊兒小遊戲
部分源 include include 呼叫easyx圖形庫 include include using namespace std define high 110 方塊高 define wide 70 方塊寬 define white block 0 白塊 define black block 1...
別踩白塊兒遊戲原始碼Android版
這個專案有帶說明文件,大家可以看看原始碼附件的說明文件吧,別踩白塊兒 是目前非常火的一款遊戲,遊戲非常簡單刺激。關於具體怎麼火法怎麼玩我就不多說了,相信看到本文的朋友們都非常地清楚。什麼遊戲火,我們都想知道自己能不能也弄乙個玩玩,我也花了點時間弄了乙個,遊戲 將會開源,利人利己,大家一起提高,希望各...
js實現2048小遊戲
頁面class hidden id end id endspan id table colspan 4 id s1 id s2 id s3 id s4 id s5 id s6 id s7 id s8 id s9 id s10 id s11 id s12 id s13 id s14 id s15 id...