一起來了解用js打造的貪吃蛇小遊戲吧

2021-10-04 00:11:30 字數 2797 閱讀 7406

// 貪吃蛇:

// 鍵盤的方向鍵,控制蛇的方向,碰撞食物,實現增加長度的效果,撞到牆壁或自身,遊戲結束

// 分析:

// 地圖:提供邊界

// 食物:隨機出現,可以被碰撞(座標重複)

// 蛇:初始的固定長度,移動,改變方向,碰撞食物,碰撞牆,碰撞自己(座標重複)

class

mapcreateele()

px;height:

$px;background:

$;margin:0 auto;position:relative;border:solid 10px black;`

; document.body.

(this

.mapele);}

}class

food

createele()

px;height:

$px;background:

$;position:absolute;left:

$px;top:

$px;`

;// console.log(m.mapele);

m.mapele.

(this

.foodele);}

randompos()

}// 至少得有多個元素(蛇節)組成

// 每個元素都要有自己的標籤,位置,寬高,顏色

// 單個元素,使用物件包含所有資訊

// 所有元素怎麼辦?來個陣列,包裹起來

class

snake,,

];// 7-1.提前設定預設方向

this

.d =

"right"

;// 3.開始建立蛇節元素,設定樣式

this

.createele()

;}createele()

this

.body[i]

.ele.style.csstext =

`width:

$px;height:

$px;background:

$;position:absolute;left:

$px;top:

$px;`;}

// 找到蛇頭

this

.body[0]

.ele.innerhtml =

"0";

// 5.延遲之後,開始移動

settimeout((

)=>

,300);

}move()

// 7.第乙個元素根據預設方向,決定想哪走

switch

(this

.d)// 8.移動過程中,判斷是否撞到邊界,任意乙個邊界都不行if(

this

.body[0]

.x <0||

this

.body[0]

.y <0||

this

.body[0]

.x >

((m.w-

this

.w)/

this

.w)||

this

.body[0]

.y >

((m.h-

this

.h)/

this

.h))

// 9.移動過程中,判斷是否與食物的座標重複,如果重複if(

this

.body[0]

.x === f.x &&

this

.body[0]

.y === f.y)

)// 重新整理食物的座標

f.randompos()

;}// 10.移動過程中,判斷蛇頭的座標是否與某個任意乙個蛇節的座標重複

for(

var i=

1;i<

this

.body.length;i++)}

// 以上只是在修改座標,生效了麼?設定回去了麼?

// 走的過程中有可能吃到食物,增加乙個蛇節(元素),建立元素

// 11.所以,使用建立蛇節方法,重新設定蛇節的位置以及判斷是否需要建立新元素

this

.createele()

;}direct

(type)}}

function

random

(a,b)

function

randomcolor()

,$,$

)` }

var m =

newmap()

;var f =

newfood()

;// 為了測試,先用計時器,重複執行,看一看隨機效果

// setinterval(() => , 500);

var s =

newsnake()

;// 13.當按下鍵盤時,將按下的鍵盤的code值,傳給蛇的專屬處理方法

document.

onkeydown

=function

(eve)

<

/script>

<

/html>

一起來了解cookie呀!!!

1.什麼是cookie cookie是由伺服器傳送給客戶端,也就是瀏覽器的資訊 小量的 2.用來幹什麼 cookie是鍵值對形式儲存的少量資訊,幫助我們跟蹤會話,一般該資訊記錄使用者身份。cookie也常常用來記錄購物車的商品資訊,例如 數量 記錄使用者訪問次數等等。3.原理是什麼 當客服端請求伺服...

ta和夏天一起來了

目錄下半年,擁有的請好好珍惜,想要的請努力去追。轉眼結束了2019的上半年,在這個月末,季度末,週末,學期末,大三末,記錄一下這兩個月的生活。能夠值得回味的故事,除了面了四次的阿里感到遺憾,還有華為雲以及華為通用的遺憾。不管如何,都過去了。生活上,還是覺得自己沒有好好珍惜時間去做一些正確的事情,遺憾...

翼龍貸風險管控如何?一起來了解

我們經常www.cppcns.com說 投資有風險 其實,理財平台最大的風險,就是大家投資了自己並不了解的理財,平台不正規暴雷跑路,讓我們血本無歸。想要安心理財,我們首選要做的就是了解該平台才能將低風險,所謂 知已知彼,百戰不殆 理財也是這樣的。那麼,選擇翼龍貸風險會有多大?我們一起來了解下 據悉,...