h5 js實現單機版貪吃蛇

2021-09-11 13:42:22 字數 1896 閱讀 3730

專案演示位址

技術細節

var snake_body  // 蛇節陣列,儲存每個蛇節的位置

var direction // 蛇當前移動的方向

var food_position // 食物的位置,每次被蛇吃掉時更新

複製**

function

init_snake() , , ]

// 蛇開始預設向右邊移動

direction = 'right'

// 食物開始位置

food_position =

}// 呼叫蛇的初始化方法

init_snake()

複製**

// init canvas

function

init()

context.stroke()

// 因為遊戲場景中缺省會有乙個食物,這個食物在隨機位置生成

context.fillstyle = 'black'

context.fillrect(food_position.x, food_position.y, 20, 20)

}

複製**

// repaint snake fastival

function

draw_snake() )

}// 判斷是否和食物發生碰撞

eat_food()

// 判斷是否死亡

dead(new_fastival)

}複製**

// left 37

// right 39

// top 38

// bottom 40

window.addeventlistener('keydown', function(e)

} else

if(e.keycode == 39)

} else

if(e.keycode == 38)

} else

if(e.keycode == 40)

}})複製**

function

move_snake() else

if(direction == 'left') else

if(direction == 'top') else

if(direction == 'bottom')

for(var i = 0; i < snake_body.length - 1; i++)

snake_body[snake_body.length - 1].x += x

snake_body[snake_body.length - 1].y += y

}複製**

function

eat_food()

}複製**

// 隨機生產食物位置的方法

function

random_food()

}複製**

function

add_snake_fastival()

// 在全域性陣列中的頭部新增

snake_body.unshift(new_fastival)

}複製**

function

dead(new_fastival)

// 判斷是否自殘

for(var i = 0; i < new_fastival.length; i++) }}

}複製**

貪吃蛇 js版 分享

在學習和總結n多前人的分享後,終於完成了js版 貪吃蛇的小遊戲,邏輯還算清楚 簡單。此版主要是js編寫,稍用了canvas。功能說明 鍵盤方向鍵控制,滑鼠控制,計分制,加速 減速,重置遊戲 簡要分析 1.貪吃蛇本身是乙個 物件陣列 snake array 陣列中的每乙個物件代表了構成貪吃蛇的每乙個小...

js 實現貪吃蛇專案

近來在學習js高階,便學習著做個網頁版貪吃蛇專案。map tools.js function window.tools tools food.js function game.prototype.start function function runsnake if heady 0 heady ma...

js 實現貪吃蛇遊戲效果

用div模擬遊戲畫面範圍,食物,以及貪吃蛇。限定食物出現的時機 為隨機出現。俺不能超出畫面範圍。限定貪吃蛇遊走範圍 限定遊戲規則 1,貪吃蛇,超出畫面範圍遊戲結束。2,貪吃蛇,撞到自己遊戲結束。class map createele px height px background margin 0 ...