首先確定蛇的移動區域,由一組'ul'標籤構成,給予'ul'乙個寬高,就組成了蛇的活動區域。'li'標籤構成了蛇的身體和行進路線,以及蛇的食物,由不同的色塊進行區分。'li'標籤是在js檔案裡進行新增的,這個後面再提。
接下來設定遊戲的難度選項,用一組"select"標籤和三個"option"標籤構成了遊戲的三個不同的難度等級。遊戲的分數記錄以及開始、暫停等按鍵我們也一併設定。
最高分:0
當前得分:0
簡單中等
困難
為了適配移動端各種螢幕解析度,我們在 css 裡使用**查詢。
@media screen and (min-width: 320px)
}@media screen and (min-width: 360px)
}/* 以最小寬度320px為基準 */
ulli
貪吃蛇的框架補全在'ul'裡新增'li'要建立400個'li'來作為貪吃蛇的活動場所。使用for迴圈將'li'新增到'ul'中
var lis=;
function initspace()
lis=ulbox.children
}
初始化蛇的位置以及蛇的食物
var snake=[,,,,]
var food=
初始化蛇的狀態
function randcolor()
function initsnake()
case 38:
case 39:
case 40:
}},false);
為了能在移動裝置上執行,我們還需要引入『touch.js』,新增滑動操作
box.touch(,
swipeleft:function(),
swipeup:function(),
swiperight:function()
})function sw(e)
case 37:
case 38:
case 39:}}
控制蛇的運動方向,以及蛇吃食物
function snakemove()else if(fangxiang==37)else if(fangxiang==38)else if(fangxiang==39)
snakehead=snake[l-1].pos;
if(snakehead==food.pos));
initfood();}}
蛇的碰撞檢測,包括邊界檢測和自身碰撞檢測
function snakemove()else if((snakehead+20)>399&&fangxiang==40)else if(snakehead<20&&fangxiang==38)else if(snakehead%20==0&&fangxiang==37)
//自身碰撞檢測
for(var i=0,l=snake.length;i分數的計算。蛇每次吃食物就加乙份,gameover的時候計算最高分
// 初始化最高分
var score = localstorage.getitem("score")||0;
max.innerhtml=score;
// 最高分
var l=sanke.length;
if((l-5)>score)
設定遊戲難度。利用『option』的value值來控制遊戲的難度
簡單
中等困難
var speed = 500;
var timer=null
start.onclick=function()
timeout.onclick=function()
pc瀏覽器模擬手機瀏覽器
很多 都通過user agent來判斷瀏覽器型別,如果是3g手機,顯示手機頁面內容,如果是普通瀏覽器,顯示普通網頁內容 谷歌chrome瀏覽器,可以很方便地用來當3g手機模擬器。在windows的 開始 執行 中輸入以下命令,啟動 谷歌瀏覽器,即可模擬相應手機的瀏覽器去訪問3g手機網頁 谷歌andr...
解決UC瀏覽器或微信瀏覽器上flex相容問題
在uc瀏覽器上使用display flex 時會不起作用,要加上相容性寫法,如下 display webkit box old ios 6 safari 3.1 6 display moz box old firefox 19 buggy but mostly works display ms fl...
用谷歌瀏覽器來模擬手機瀏覽器
很多 都通過user agent 來判斷瀏覽器型別,如果是3g手機,顯示手機頁面內容,如果是普通瀏覽器,顯示普通網頁內容。谷歌chrome瀏覽器,可以很方便地用來當3g手機模擬器 在windows的 開始 執行 中輸入以下命令,啟動谷歌瀏覽器,即可模擬相應手機的瀏覽器去訪問3g手機網頁 谷歌andr...