在手機或電腦瀏覽器上玩貪吃蛇

2021-09-16 12:33:51 字數 2310 閱讀 2682

首先確定蛇的移動區域,由一組'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...