午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > HTML5 貪吃蛇游戲實現思路及源代碼

HTML5 貪吃蛇游戲實現思路及源代碼

熱門標簽:怎么做百度地圖標注 小朱地圖標注 百度地圖標注為什么總是封號 400開頭的電話好申請不 咸陽穩定外呼系統軟件 智能芯電話機器人 四川移動電銷外呼客戶管理系統 臨海地圖標注app 地圖標注柱狀圖
 
游戲操作說明

通過方向鍵控制貪吃蛇上下左右移動。貪吃蛇吃到食物之后會變長一個長度。

游戲具體實現

游戲難點是怎么模擬貪吃蛇的移動。如果只是一個方塊的話顯然很簡單。但是當蛇的長度變長之后要怎么樣控制

每個方塊的移動呢?

如果觀察蛇的移動,可以發現,從蛇的頭部到尾部,每個方塊在下一時刻的位置就是它的前一個方塊在當前時刻

的位置。因此我們需要做的只是控制貪吃蛇的頭部的運動。其他部分的位置都可以依次類推。

另外一個值得注意的問題是

貪吃蛇吃下食物之后,新增加的方塊應該放在哪個位置。

答案就是在下一時刻,新增加的方塊應該出現在當前時刻的尾部位置。

因此,在吃下食物之后應該在更新蛇的每個位置之前,增加一個方塊,并且將其位置設定在當前時刻的尾部位置。

然后在當前時刻更新出了新增方塊之外的所有方塊的位置

index.html
 
snake.js

復制代碼
代碼如下:

var canvas;
var ctx;
var timer;
//measures
var x_cnt = 15;
var y_cnt = 15;
var unit = 48;
var box_x = 0;
var box_y = 0;
var box_width = 15 * unit;
var box_height = 15 * unit;
var bound_left = box_x;
var bound_right = box_x + box_width;
var bound_up = box_y;
var bound_down = box_y + box_height;
//images
var image_sprite;
//objects
var snake;
var food;
var food_x;
var food_y;
//functions
function Role(sx, sy, sw, sh, direction, status, speed, image, flag)
{
this.x = sx;
this.y = sy;
this.w = sw;
this.h = sh;
this.direction = direction;
this.status = status;
this.speed = speed;
this.image = image;
this.flag = flag;
}
function transfer(keyCode)
{
switch (keyCode)
{
case 37:
return 1;
case 38:
return 3;
case 39:
return 2;
case 40:
return 0;
}
}
function addFood()
{
//food_x=box_x+Math.floor(Math.random()*(box_width-unit));
//food_y=box_y+Math.floor(Math.random()*(box_height-unit));
food_x = unit * Math.floor(Math.random() * x_cnt);
food_y = unit * Math.floor(Math.random() * y_cnt);
food = new Role(food_x, food_y, unit, unit, 0, 0, 0, image_sprite, true);
}
function play(event)
{
var keyCode;
if (event == null)
{
keyCode = window.event.keyCode;
window.event.preventDefault();
}
else
{
keyCode = event.keyCode;
event.preventDefault();
}
var cur_direction = transfer(keyCode);
snake[0].direction = cur_direction;
}
function update()
{
//add a new part to the snake before move the snake
if (snake[0].x == food.x && snake[0].y == food.y)
{
var length = snake.length;
var tail_x = snake[length - 1].x;
var tail_y = snake[length - 1].y;
var tail = new Role(tail_x, tail_y, unit, unit, snake[length - 1].direction, 0, 0, image_sprite, true);
snake.push(tail);
addFood();
}
//modify attributes
//move the head
switch (snake[0].direction)
{
case 0: //down
snake[0].y += unit;
if (snake[0].y > bound_down - unit)
snake[0].y = bound_down - unit;
break;
case 1: //left
snake[0].x -= unit;
if (snake[0].x < bound_left)
snake[0].x = bound_left;
break;
case 2: //right
snake[0].x += unit;
if (snake[0].x > bound_right - unit)
snake[0].x = bound_right - unit;
break;
case 3: //up
snake[0].y -= unit;
if (snake[0].y < bound_up)
snake[0].y = bound_up;
break;
}
//move other part of the snake
for (var i = snake.length - 1; i >= 0; i--)
{
if (i > 0)
//snake[i].direction=snake[i-1].direction;
{
snake[i].x = snake[i - 1].x;
snake[i].y = snake[i - 1].y;
}
}
}
function drawScene()
{
ctx.clearRect(box_x, box_y, box_width, box_height);
ctx.strokeStyle = "rgb(0,0,0";
ctx.strokeRect(box_x, box_y, box_width, box_height);
//detection collisions
//draw images
for (var i = 0; i < snake.length; i++)
{
ctx.drawImage(image_sprite, snake[i].x, snake[i].y);
}
ctx.drawImage(image_sprite, food.x, food.y);
}
function init()
{
canvas = document.getElementById("scene");
ctx = canvas.getContext('2d');
//images
image_sprite = new Image();
image_sprite.src = "images/sprite.png";
image_sprite.onLoad = function ()
{}
//ojects
snake = new Array();
var head = new Role(0 * unit, 0 * unit, unit, unit, 5, 0, 1, image_sprite, true);
snake.push(head);
window.addEventListener('keydown', play, false);
addFood();
setInterval(update, 300); //note
setInterval(drawScene, 30);
}

相關閱讀:html5貪吃蛇游戲使用63行代碼完美實現

標簽:陜西 平涼 黃石 黃石 公主嶺 南平 平頂山 山南

巨人網絡通訊聲明:本文標題《HTML5 貪吃蛇游戲實現思路及源代碼》,本文關鍵詞  HTML5,貪吃,蛇,游戲,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5 貪吃蛇游戲實現思路及源代碼》相關的同類信息!
  • 本頁收集關于HTML5 貪吃蛇游戲實現思路及源代碼的相關信息資訊供網民參考!
  • 推薦文章
    依依成人在线视频| 久久精品日产第一区二区三区高清版| 国产日韩精品suv| 精品一区二区三区影院在线午夜| 日韩美女精品在线| 欧美三级在线播放| 久久国产精品99国产精| 国产树林野战在线播放| www.88av| 天堂成人在线观看| 亚洲国产精品嫩草影院| 国产va免费精品高清在线观看| 国产真实乱子伦| 亚洲国产精品久久人人爱潘金莲| 在线欧美日韩精品| 欧美一进一出视频| 国产成人精品一区二三区| 激情图片小说一区| 在线日韩中文字幕| 免费看a级黄色片| 蜜臀99久久精品久久久久久软件| 五月婷婷综合网| 国产亚洲一区二区三区在线播放| 男人av资源站| 亚洲自拍偷拍欧美| 国产精品伦子伦免费视频| 亚洲最大成人网站| 久久久www免费人成精品| 国产精品69av| 欧美大片xxxx| 日本一区二区三区国色天香 | 亚洲不卡的av| 亚洲午夜久久久久久久久电影网 | 双性尿奴穿贞c带憋尿| 久久影院电视剧免费观看| 国产精品免费网站| 1级黄色大片儿| 欧美日韩亚洲不卡| 欧美国产一二三区| av加勒比在线| 欧美日韩国产区一| 警花观音坐莲激情销魂小说| 色欲AV无码精品一区二区久久| 成人激情电影一区二区| 欧美日韩性生活| 亚洲午夜精品一区二区三区| h狠狠躁死你h高h| 欧美激情 国产精品| 国产乱了高清露脸对白| 夜夜精品视频一区二区| 国产视频999| 在线观看国产成人| 精品国产1区2区3区| av亚洲天堂网| 亚洲青青青在线视频| 亚洲最大成人免费视频| 欧美成人精品网站| 亚洲片av在线| 亚洲va在线va天堂va偷拍| 亚洲欧美精品在线观看| 久久一区二区三区四区五区| 亚洲国产日韩欧美综合久久| 中文字幕avav| 欧美激情一二三区| 日韩高清国产精品| 国精品**一区二区三区在线蜜桃| 91亚洲精品在线| 在线观看你懂的网站| 欧美成人一区在线| 久久露脸国语精品国产91| 亚洲人成77777在线观看网| 五月婷婷之婷婷| 国产精品免费网站在线观看| 老司机精品福利在线观看| 免费成人在线观看视频| 欧美一区二区三区精美影视| 你懂的网站在线| 亚洲永久免费观看| 国产手机视频在线| 91精品中文在线| 午夜成人鲁丝片午夜精品| 亚洲一区二区三区视频播放| 蜜桃91丨九色丨蝌蚪91桃色| 国产欧美va欧美va香蕉在| 青草国产精品久久久久久| 蜜桃视频在线观看91| 蜜桃久久久久久| 久久精品国产精品国产精品污| 日本加勒比一区| 国产日韩欧美综合精品| 久久久精品国产免大香伊 | 欧美一级欧美三级在线观看| 精品人妻无码一区二区三区换脸| 精品五月天久久| 日韩免费视频网站| 亚洲国产精品久久久久秋霞蜜臀 | 91精品国产高清久久久久久久久| 国产手机视频在线| 亚洲free嫩bbb| 国产午夜久久久久| 中文字幕天堂av| 欧美色网一区二区| 在线能看的av| 国产亚洲情侣一区二区无| 激情五月婷婷综合网| 国产福利视频在线播放| 欧美性高跟鞋xxxxhd| 扒开伸进免费视频| 国内精品久久国产| 亚洲免费观看视频| 蜜桃视频最新网址| 日韩中文在线中文网三级| 亚洲欧美激情另类| 国产精品免费视频一区二区 | 久久国产精品亚洲va麻豆| 国产成人精品亚洲日本在线桃色| 91精产国品一二三产区别沈先生| 在线观看亚洲一区| 日本成人免费在线观看| 成人免费在线网址| 国产精品水嫩水嫩| 国产在线综合网| 欧美亚州在线观看| 欧美第一区第二区| 日本视频在线一区| 稀缺呦国内精品呦| 国产aaa精品| 国产欧美一区视频| 国产一级二级三级视频| 欧美一二三四五区| 日韩午夜精品视频| 久久99精品一区二区三区| 日本在线不卡一区二区| 成人观看高清在线观看免费| 亚洲一二三四在线观看| 日本少妇xxxxx| 国产在线视频欧美一区二区三区| 日韩欧美在线视频观看| a天堂视频在线| 中文字幕久久av| 久久精品国产一区二区电影| 经典一区二区三区| 在线观看av免费观看| 国产精品视频白浆免费视频| 日韩欧美有码在线| 日本aⅴ免费视频一区二区三区| 9.1在线观看免费| 99久久精品久久久久久ai换脸| 欧美挠脚心视频网站| 蜜桃视频第一区免费观看| 99久久久无码国产精品衣服| 粉嫩av免费一区二区三区| 亚洲成人在线视频播放| 免费av成人在线| 日本 欧美 国产| 欧美一级黄色录像片| 欧美激情在线播放| 国产精品福利影院| av中文在线观看| 无码人妻丰满熟妇啪啪网站| 国产精品一级久久久| 欧美日韩精品一区视频| 日韩va欧美va亚洲va久久| www.com.av| 国产精品专区在线| 国产日韩欧美91| 欧美高清精品3d| 免费人成在线不卡| 国产精品自拍99| 激情小说欧美色图| 亚洲av综合色区| 国产在线观看不卡| 少妇av一区二区三区| 在线视频一区二区三| 久久久久久久久久久久久久久99| 精品无码免费视频| 国产日韩免费视频| 噜噜噜久久,亚洲精品国产品| 蜜臀久久99精品久久久| 日一区二区三区| 韩国av免费在线| 日韩精品乱码免费| 91久久久久国产一区二区| 久久久久久久福利| 强开小嫩苞一区二区三区网站| 正在播放亚洲一区| 亚洲品质自拍视频网站| 精品夜夜嗨av一区二区三区| 伊人网中文字幕| 日韩av女优在线观看| 久久撸在线视频| 欧美日韩国产免费一区二区三区 | 超碰超碰在线观看| 人妻有码中文字幕| wwwwww欧美| 26uuu成人| 午夜欧美性电影| 国产精品99一区| 97精品国产97久久久久久| 亚洲美女在线观看| 欧美午夜影院一区| 色综合久久综合网| 国产精品美女一区二区三区| 高清在线成人网| 成人午夜看片网址| 日韩精品三区四区| 青青草精品视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一区二区三区不卡视频| 三级黄色在线观看| 多男操一女视频| 日日碰狠狠添天天爽| 糖心vlog免费在线观看| 久久久久久久久久网站| 欧美精品一级片| 黄色av一级片| 国产高清在线观看视频| 媚黑女一区二区| 国产精品99久久久久久似苏梦涵 | 黄色网址中文字幕| 日韩高清精品免费观看| 国产精品999久久久| 成年人午夜剧场| 狠狠人妻久久久久久综合| 在线中文字幕网站| 美女精品一区二区| 99精品视频在线免费观看| 国产精品久久三| 国产精品亲子乱子伦xxxx裸| 亚洲制服欧美中文字幕中文字幕| 一本大道久久精品懂色aⅴ| 精品国产免费视频| 久久免费高清视频| 狠狠色综合欧美激情| 欧美图片激情小说| 在线观看国产免费视频| 久久精品美女视频| 国产精品污视频| 国产精品综合一区二区| 亚洲精品久久久蜜桃| 日韩一级成人av| 午夜精品一区二区三区视频免费看| 国产精品视频免费观看| 欧美深深色噜噜狠狠yyy| 天堂av一区二区| 中文字幕av一区二区三区人妻少妇| 国产精品一级黄片| 欧美成人片在线观看| 首页国产欧美久久| 日本一区二区高清| 日韩一级欧美一级| 色婷婷综合久久久久| 日韩免费在线观看视频| 中文字幕av日韩精品| 欧美日韩一区二区区| 无码人妻丰满熟妇奶水区码| 少妇高潮一区二区三区99小说| 国产三级精品三级在线专区| 日韩欧美在线视频免费观看| 精品国产乱码久久久久久影片| 日本一区二区不卡| 亚洲精品tv久久久久久久久| 亚洲女人在线观看| 精品一级少妇久久久久久久| 日韩av成人高清| 欧美日韩国产成人在线免费| 日韩电影免费观看中文字幕 | 2019中文在线观看| 97成人精品视频在线观看| 高清视频一区| 欧美熟妇精品一区二区蜜桃视频| 精品国产午夜福利| 久久综合九色综合97_久久久 | 国产精品国产精品国产| 91原创在线视频| 欧美精品一区二区三区视频| 欧美中文字幕在线播放| 欧美在线一二三区| 国产探花视频在线| 精品一区二区国语对白| 欧美一级一区二区| 精品视频在线观看| 中文字幕av久久爽一区| 国产一区久久久| 精品粉嫩超白一线天av| 亚洲成色最大综合在线| 妺妺窝人体色www在线下载| 国产福利一区二区| 国产一区二区三区免费视频| 爱情岛论坛亚洲入口| 久久久久亚洲av片无码v| 中文字幕在线播放不卡| 欧美日韩亚洲高清| 亚洲一区二区在线播放| 一边摸一边做爽的视频17国产 | 免费国产黄色网址| 亚洲精品男人的天堂| 最新国产の精品合集bt伙计| 97高清免费视频| 亚洲高清av一区二区三区| 美腿丝袜在线亚洲一区| 欧美日韩免费一区二区| 99热国产精品| 欧美亚洲成人精品| 日本69式三人交| 国产中文一区二区三区| 日韩av在线一区二区| 日韩人妻无码精品久久久不卡| 日韩xxx视频| 在线视频欧美精品| 午夜精品短视频| 特一级黄色大片| 欧美日韩一区不卡| 亚洲黄色网址在线观看| 99国产成人精品| 亚洲免费小视频| 不用播放器的免费av| 91尤物视频在线观看| 91久久精品国产| 青娱乐在线免费视频| 欧美二区乱c少妇| 免费在线观看的毛片| 99在线精品免费| 国产91视觉| av男人天堂av| 欧美国产激情18| 伊人久久久久久久久久久久久久| 亚洲第一综合色| 精品国产一二三四区| 免费在线a视频| 成人一二三区视频| 91久久久久久国产精品| 伊人精品一区二区三区| 国产视频在线一区二区| 欧美图片自拍偷拍| 欧美性感美女h网站在线观看免费| 精品人妻人人做人人爽| 国产精品亚洲午夜一区二区三区| 91久久国产婷婷一区二区| 国产一区二区三区视频免费观看| 色婷婷综合成人| 唐朝av高清盛宴| 亚洲高清一区二| 女人18毛片毛片毛片毛片区二 | 国产污视频网站| 久久免费精品日本久久中文字幕| 久久高清内射无套| 日韩三级在线观看| 五月天婷婷丁香网| 日韩精品在线观| 九九视频在线免费观看| 在线观看久久av| 国产亚洲欧美日韩高清| 欧美尤物巨大精品爽| 亚洲国产一二三区| 国产日韩精品电影| 精品一区二区三区在线观看国产| 日韩欧美中文字幕精品| 久久久久久久中文| 欧美性极品xxxx做受| 国产又粗又长又爽| 亚洲欧美成人网| 成人精品在线看| 97视频在线观看免费| 五十路在线观看| 欧美一区二区综合| 亚洲精品成人a在线观看| 欧美激情国内自拍| 亚洲第一网中文字幕| 特级西西444www大胆免费看| 国产成人在线播放| 粉嫩欧美一区二区三区高清影视| 亚洲高潮无码久久| 亚洲va在线va天堂| 51妺嘿嘿午夜福利| 久久久在线免费观看| 韩国av电影在线观看| 青青成人在线| 亚洲第一狼人社区| 激情四射综合网| 国产成人精品一区二区三区| 国产传媒日韩欧美成人| 欧美一区二区三区爽大粗免费| 欧美亚洲尤物久久| 精品无码久久久久久久| 国产区二精品视| 亚洲成人你懂的| 国产一级片播放| 999视频在线免费观看| 国产精品久久久99| 潘金莲一级淫片aaaaa| 免费观看在线综合| 中文字幕中文字幕一区三区| 欧美色电影在线| wwwwww在线观看| 蜜桃免费一区二区三区| 色成年激情久久综合| 日本中文字幕在线观看视频| 欧美视频1区| 91精品国产综合久久福利软件| 91好色先生tv| 乱人伦xxxx国语对白| 日韩精品高清视频| 国产一本一道久久香蕉| aa一级黄色片| 成人伊人精品色xxxx视频| 欧美在线观看视频在线| 国产精品久久久久久久久久久久久久久久久久 | 国产又粗又黄又爽的视频| 免费久久久久久|