JS小遊戲貪吃蛇 詳細注釋

2021-06-25 18:55:28 字數 2595 閱讀 3774

執行**框

">

">

貪吃蛇綠色食物

灰色毒品

藍色滑板

紅色剎車

最高分:0

tips: 

ie: element.innertext = ff: element.textcontent; 

setattribute("cellpadding","0")在ie中無效,正確寫法cellpadding (一不小心就犯錯了); 

ff中,使用繫結在某元素上的鍵盤事件前,先讓它獲得焦點,document也不例外,這容易疏忽; 

在ie中create table element,記得加tbody;

**(有詳細注釋):

// code by cnwander.

// common 

function $(str) 

function $tag(str,target) 

// global

// const

var width = 20, //網格寬度

height = 20, //網格高度

say = ["相當不錯,雖然說和cnwander還不是乙個級別的","可以啊,再加點油都可以和cnwander媲美了!","乙個字,牛,連cnwander都甘拜下風了","差不多行了,別把遊戲玩爆了"];

var len = 3, //蛇的長度

speed, //爬行速度

gridelems = multiarray(width,height), //單元格物件

carrier, //承載物件(食物,障礙,滑板,剎車)

snake, //蛇每節的座標點

info, //互動對話

btnstart, //開始按鈕

topscore = len,

snaketimer, //蛇行走計時器

braketimers = , //隨機剎車

skatetimers = , //隨機滑板

directkey; // 方向鍵值 37-40 左上右下

window.onload = function() }

//開始遊戲

function start() 

//建立網格

function initgrid()  }

}//建立蛇

function initsnake()  }

//新增鍵盤事件

function attachevents(e) 

function walk() 

function step() 

//碰到邊界,阻擋物,則結束遊戲

if(headx >= width || headx < 0 || heady >= height || heady < 0 || carrier[headx][heady] == "block" || carrier[headx][heady] == "cover" ) 

//加速

if(len % 4 == 0 && speed < 60 && carrier[headx][heady] == "food") 

//撿到剎車

if(carrier[headx][heady] == "brake") 

//遭遇滑板

if(carrier[headx][heady] == "skate")     

//新增阻擋物

if(len % 6 == 0 && len < 60 && carrier[headx][heady] == "food")     

//對話

if(len <= 40 && len % 10 == 0)     

//吃東西

if(carrier[headx][heady] != "food")  else 

snake.unshift([headx,heady]);

carrier[headx][heady] = "cover";

gridelems[headx][heady].classname = "cover";

len = snake.length; }

//新增物品

function addobject(name) 

//新增隨機數量剎車和滑板

function addrandombrake() ,randownum(10000,100000)) );

skatetimers.push( window.settimeout(function(),randownum(5000,100000)) );

}          }

//輸出資訊

function trace(sth,who) 

//獲取資訊

function gettext(target) 

//建立二維陣列

function multiarray(m,n) 

//清除畫面

function clear()  }

}//產生指定範圍隨機點

function randompointer(startx,starty,endx,endy) 

//產生隨機整數

function randownum(start,end) 

貪吃蛇小遊戲

1 doctype html 2 html 3 head 4 title snake title 5head 6 body style text align center margih 100px background color aaaaaa 7 canvas id canv width 400 ...

240行js貪吃蛇小遊戲

二百行左右 還有一些小問題 也比較亂 有待改正。lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle big small fen style head class ...

C 貪吃蛇小遊戲

自學了幾天c 嘗試寫了乙個貪吃蛇小遊戲,比較詳細地做了注釋,實現 1 貪吃蛇基本功能 2 長按加速 3 計分板 xaml 及介面 namespace 貪吃蛇 新食物生成 public void newfoodgenerate 計時器每乙個計時週期內的時間處理程式 void timer tick ob...