編程心得
最近一段時(shí)間對于js部分理解起來比較吃力她紫,掌握的內(nèi)容少之又少,在編程的過程中也是屬于懵懵懂懂的狀態(tài)屿讽,憑借對白天老師所講解的部分記憶昭灵,又在課后時(shí)間查詢,借鑒伐谈,思考烂完,坎坎坷坷的先碼出一些代碼,以此為記诵棵。
一抠蚣、編程思路
1、 找對象
① 蛇對象:
屬性:長度履澳,起點(diǎn)位置(x嘶窄,y),當(dāng)前方向
方法:渲染奇昙,更新(按鍵控制护侮,變長)
②食物對象
屬性:大小敌完,背景顏色
方法:渲染储耐,改變位置
③游戲引擎
屬性:行數(shù),列數(shù)滨溉,游戲場景什湘,蛇,食物
方法:初始化(清空場景晦攒,啟動(dòng)游戲)
2闽撤、實(shí)現(xiàn)對象
二、代碼實(shí)現(xiàn)過程
定義【游戲引擎】對象
var gGameBox = {
rows: 20, // 行數(shù)
cols: 20, // 列數(shù)
allTds: [], // 存儲(chǔ)所有的td元素對象
// 方法: 游戲開始
start: function() {
gGameBox.init(); // 游戲初始化
},
// 初始化
init: function() {
// 場景布置好, 用表格來做
var oTable = document.createElement("table");
for (var i = 0; i < gGameBox.rows; i++)
{
// 創(chuàng)建tr
var oTr = document.createElement("tr");
// 每一行脯颜,定義1個(gè)空數(shù)組
var arr = [];
for (var j = 0; j < gGameBox.cols; j++) {
// 創(chuàng)建td
var oTd = document.createElement("td");
oTr.appendChild(oTd);
// 將td放到空數(shù)組中
arr.push(oTd);
}
// 將當(dāng)前行所有的td哟旗,壓入到 allTds 屬性中
gGameBox.allTds.push(arr);
oTable.appendChild(oTr);
}
// 添加到body
document.body.appendChild(oTable);
}
};