原生JavaScript編寫canvas版的連連看游戲
本文實(shí)例為大家分享了JavaScript編寫canvas版的連連看游戲的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
效果圖:

實(shí)現(xiàn)代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#box{
/*border: 1px solid #D1D1D1; */
overflow: hidden;
position: relative;
padding-bottom: 60px;
}
#bg{
background-color: rgba(254,195,89,.2);
}
#mycanvas{
position: absolute;
top: 36px; left: 0;
}
#toolsbar{
width: 100%;
position: absolute;
bottom: 10px;
left: 0;
overflow: hidden;
}
button{
outline: none;
border: none;
width: 100px;
height: 32px;
background-color: #d80049;
color: #FFFFFF;
border-radius: 5px;
margin-right: 10px;
cursor: pointer;
}
#timeline{
height: 26px;
width: 568px;
padding-bottom: 10px;
background: url(images/time_slot-hd.png) no-repeat;
overflow: hidden;
}
#timeline span{
display: block;
width: 100%;
height: 100%;
display: flex;
overflow: hidden;
}
#timeline span:before,
#timeline span:after{
display: block;
content: "";
height: 26px;
background: url(images/time_bars-hd.png) no-repeat;
}
#timeline span:before{
width: 12px;
}
#timeline span:after{
/*width: 100%;*/
background-position: right top;
-webkit-flex: 1;
/*margin-top: -26px;*/
}
</style>
</head>
<body>
<div id="box">
<div id="timeline"><span></span></div>
<div id="toolsbar">
<button class="resort">重列(3)</button>
<button class="tip">提示(3)</button>
<button class="boom">炸彈(3)</button>
<button class="parse" style=" background-color: #00AA79;">暫停</button>
<button class="restart" style="margin-left: 50px; background-color: #00AA79;">重新開始</button>
</div>
<canvas id="bg" width="818" height="474px"></canvas>
<canvas id="mycanvas" width="818" height="474px">
</canvas>
</div>
</body>
</html>
<script type="text/javascript" src="../../public/js/jquery-1.11.2.min.js" ></script>
<script type="text/javascript" src="control.js" ></script>
<script type="text/javascript" src="matrix.js" ></script>
<script type="text/javascript" src="draw.js" ></script>
<script type="text/javascript" src="map.js" ></script>
<script type="text/javascript" >
$(function(){
var matrix = MAP_ARR[parseInt(Math.random()*MAP_ARR.length)];
window._Matrix = new Matrix(matrix,36);
window.draw = new Draw({
id : "mycanvas",
step : 42,
matrix : _Matrix.matrix,
dir : "images/",
speed : 300
});
var controller = new control({
step : 42,
col : 19,
row : 11,
id : "bg",
time : 90000,
draw : draw,
_Matrix : _Matrix,
times : 3
});
$("#mycanvas").on("click",function(e){
var x = e.offsetX,
y = e.offsetY;
var _x = Math.floor((x-1)/43),
_y = Math.floor((y-1)/43);
controller.click(_x,_y);
});
$(".resort").on("click",function(){
var count = parseInt($(this).text().match(/\d+/)[0]);
if(count){
count--;
$(this).text("重列("+ count +")");
}
controller.resort();
});
var tiped = false,tips;
$(".tip").on("click",function(){
var count = parseInt($(this).text().match(/\d+/)[0]);
if(count){
count--;
$(this).text("提示("+ count +")");
}
controller.gettips();
});
$(".boom").on("click",function(){
var count = parseInt($(this).text().match(/\d+/)[0]);
if(count){
count--;
$(this).text("炸彈("+ count +")");
}
controller.boom();
});
$(".restart").on("click",function(){
controller.restart();
});
$(".parse").on("click",function(){
var bool = $(this).text() == "暫停";
$(this).text(bool ? "繼續(xù)" : "暫停")
controller.parse();
});
controller.watch(function(percent){
$("#timeline span").width(percent+"%");
});
});
</script>
源碼下載:連連看游戲
關(guān)于JavaScript編寫游戲的開發(fā)實(shí)例還有很多,具體大家可以參考專題《javascript經(jīng)典小游戲匯總》進(jìn)行學(xué)習(xí),希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
使用 Jest 和 Supertest 進(jìn)行接口端點(diǎn)測(cè)試實(shí)例詳解
這篇文章主要介紹了使用 Jest 和 Supertest 進(jìn)行接口端點(diǎn)測(cè)試,結(jié)合實(shí)例形式詳細(xì)分析了使用 Jest 和 Supertest 進(jìn)行接口端點(diǎn)測(cè)試具體原理、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-04-04
BootStrap給table表格的每一行添加一個(gè)按鈕事件
這篇文章主要介紹了BootStrap給table表格的每一行添加一個(gè)按鈕事件的相關(guān)資料,需要的朋友可以參考下2017-09-09
JS實(shí)現(xiàn)的貪吃蛇游戲完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)的貪吃蛇游戲,結(jié)合完整實(shí)例形式分析了javascript實(shí)現(xiàn)貪吃蛇游戲的具體步驟、原理與相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
基于JavaScript實(shí)現(xiàn)數(shù)碼時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)數(shù)碼時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
JSON與String互轉(zhuǎn)的實(shí)現(xiàn)方法(Javascript)
下面小編就為大家?guī)硪黄狫SON與String互轉(zhuǎn)的實(shí)現(xiàn)方法(Javascript) 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-09-09
JavaScript實(shí)現(xiàn)一個(gè)電子小蜘蛛
這篇文章主要介紹了JavaScript實(shí)現(xiàn)一個(gè)電子小蜘蛛,具體的樣子就是讓它會(huì)跟隨著我們的鼠標(biāo)進(jìn)行移動(dòng),那么我們?nèi)绾螌?shí)現(xiàn)這樣的效果呢,下面來詳細(xì)講解實(shí)現(xiàn)方法,需要的朋友可以參考下2024-10-10

