將貪吃蛇改造成物件導向,類似外掛程式的東西。
過程中,要把握好this的指向,因為這個,除錯了好大會
將randfood進行了修正,新增了乙個配置引數與預設引數合併方法,其他的都還是一樣的。
html**沒有改,在第一篇文章裡
**附上:
function tanchishe(options)
this.settings(options, defaults);
this.init();
this.update();
var self = this;
document.onkeydown = function(event) else
}}// 將配置引數和預設引數合併
tanchishe.prototype.settings = function(options, defaults) ;
for (var i in defaults) else if (typeof options[i] === 'object') }}
}}// 隨機生成食物
tanchishe.prototype.randfood = function() while (this.isbody(this.food_x, this.food_y));
}// 判斷食物是否在蛇的身體上
tanchishe.prototype.isbody = function(param_x, param_y)
}// 判斷食物是否在蛇的身體上
var snakelast = this.snake[this.snakelength - 1];
if (snakelast)
}return false;
}// 定時更新畫面
tanchishe.prototype.update = function() else
}, self.ops.speed)
}// 繪製貪吃蛇
tanchishe.prototype.drawsnake = function()
// 增加頭
tanchishe.prototype.addhead = function(param_x, param_y)
// 增加蛇頭
// 檢測頭是否 碰到身體
if (this.snakelength > 3 && this.isbody(newx, newy)) else );
this.draw(this.snake[0].x, this.snake[0].y);
}}// 檢測是否吃到食物
tanchishe.prototype.checkfood = function()
}// 清除
tanchishe.prototype.clear = function(param_x, param_y)
// 畫小方塊
tanchishe.prototype.draw = function(param_x, param_y)
// 初始化函式
tanchishe.prototype.init = function()
this.snake.push();
this.randfood();
this.draw(this.food_x, this.food_y);
this.draw(this.snake[0].x, this.snake[0].y);
}function tcs(options)
在html中呼叫就行了
window.οnlοad=function());
}
實現貪吃蛇
貪吃蛇 1.它的移動我們採用頭部加乙個尾巴減乙個 2.我們將view的大小分成很多個格仔 3.蛇的移動是以乙個格仔為單位 created by administrator on 2016 10 11.public class gameview extends view public gameview...
c 實現貪吃蛇
include include include include include include include include include word square color 7 義方向 define key up 72 define key down 80 define key left 75...
canvas實現貪吃蛇
效果圖ps 這個只是思路,詳細可看 注釋 一 先把蛇畫出來 定義一下蛇的結構,用乙個陣列儲存一堆矩形,包含蛇頭 紅 和蛇身 灰 畫蛇 初始狀態 二 蛇能動 重點 蛇移動方式 自始至終都只有蛇頭在動 需要乙個儲存方向的變數 direction 根據方向進行移動,一次移動乙個格 根據按鍵改方向 三 隨機...