第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

請教代碼哪里出錯了?左移動的時候有時候不相加,有時候第一格是空的卻只移到第二格...等等bug

var?board?=?new?Array();
var?scroe?=?0;

$(document).ready(function(){
	newgame();
});

function?newgame()?{
	//?初始化棋盤格
	init();
	//在隨機(jī)兩個格子生成數(shù)字
	generateOneNumber();
	generateOneNumber();
}

function?init(){
	for(var?i?=?0?;?i?<?4?;?i?++?){
		for(var?j?=?0?;?j?<?4?;?j?++?){
			var?gridCell?=?$("#grid-cell-"+i+"-"+j);
			gridCell.css('top',?getPosTop(?i?,?j?)?);
			gridCell.css('left',?getPosLeft(?i?,?j?)?);
		}
	}

	for(var?i?=?0?;?i?<?4?;?i?++?){
		board[i]?=?new?Array();
		for(var?j?=?0?;?j?<?4?;?j?++?){
			board[i][j]?=?0;
		}
	}

	updateBoardView();
	score?=?0;
	console.table(board);
}

function?updateBoardView(){
	$(".number-cell").remove();
	for(var?i?=?0?;?i?<?4?;?i?++?){
		for(var?j?=?0?;?j?<?4?;?j?++?){
			$("#grid-container").append('<div?class="number-cell"?id="number-cell-'+i+'-'+j+'">');
			var?theNumberCell?=?$('#number-cell-'+i+'-'+j);

			if(?board[i][j]?==?0?){
				theNumberCell.css('width',0);
				theNumberCell.css('height',0);
				theNumberCell.css('top',?getPosTop(i,j)+50?);
				theNumberCell.css('left',?getPosLeft(i,j)+50?);

			}else{
				theNumberCell.css('width',100);
				theNumberCell.css('height',100);
				theNumberCell.css('top',?getPosTop(i,j)?);
				theNumberCell.css('left',?getPosLeft(i,j)?);
				theNumberCell.css('background-color',getNumberBgColor(?board[i][j]?)?);
				theNumberCell.css('color',getNumberColor(?board[i][j]?)?);
				theNumberCell.text(?board[i][j]?);
			}
		}
	}
}

function?generateOneNumber(){
	if(?noSpace(?board?))
		return?false;
	//隨機(jī)一個位置
	var?randx?=?parseInt(?Math.floor(?Math.random()*4?)?);
	var?randy?=?parseInt(?Math.floor(?Math.random()*4?)?);

	while(?true?){
		if?(?board[randx][randy]?==?0?)?break;
		var?randx?=?parseInt(?Math.floor(?Math.random()*4?)?);
		var?randy?=?parseInt(?Math.floor(?Math.random()*4?)?);
	}

	//隨機(jī)一個數(shù)字
	var?randNumber?=?Math.random()?<?0.5???2?:?4?;
	//在隨機(jī)位置顯示隨機(jī)數(shù)字
	
	board[randx][randy]?=?randNumber;
	showNumberWithAnimation(?randx,?randy,?randNumber?);

	return?true;

}

$(document).keydown(function(event){
	switch(?event.keyCode?){
		case?37:?//左
			if(?moveLeft()?){
				generateOneNumber();?
				isGameOver();
			};
			break;?
		case?38:?//上
			if(?moveTop()?){
				generateOneNumber();?
				isGameOver();
			};
			break;?
		case?39:?//右
			if(?moveRight()?){
				generateOneNumber();?
				isGameOver();
			};
			break;?
		case?40:?//下
			if(?moveDown()?){
				generateOneNumber();?
				isGameOver();
			};
			break;?
		default:?//默認(rèn)
			break;?
	}
	console.table(board);
});

function?isGameOver(){

}

function?moveLeft(){
	if(?!canMoveLeft(?board?)?)
		return?false;
	//move?left
	for(var?i?=?0?;?i?<?4?;?i?++?)
		for(var?j?=?1?;?j?<?4?;?j?++?)
			if(?board[i][j]?!=?0?)
				for(?var?k?=?0;?k?<?j?;?k?++?)
					if(?board[j][k]?==?0?&&?noBlockHorizontal(?i,k,j,board?)?){
						//move
						showMoveAnimation(i,j,i,k);
						board[i][k]?=?board[i][j];
						board[i][j]?=?0;
						continue;
					}
					else?if(?board[i][k]?==?board[i][j]?&&?noBlockHorizontal(i,k,j,board)?){
						//move
						showMoveAnimation(i,j,i,k);
						//add
						board[i][k]?+=?board[i][j];
						board[i][j]?=?0;
						//add?score
						score?+=?board[i][k];
						updateScore(?score?);
						continue;
					}

	setTimeout("updateBoardView()",200);
	return?true;
	
}


正在回答

4 回答

MoveLeft()里面的 判斷if(board[i][k]==0)有錯

0 回復(fù) 有任何疑惑可以回復(fù)我~

theNumberCell.css('left',?getPosLeft(i,j)+50?); 不需要+50

0 回復(fù) 有任何疑惑可以回復(fù)我~
function?showNumberWithAnimation(?i,?j,?num?){
	var?numberCell?=?$(?"#number-cell-"+i+"-"+j?);

	numberCell.css('background-color',getNumberBgColor(?num?)?);
	numberCell.css('color',getNumberColor(?num?)?);
	numberCell.text(?num?);


	numberCell.animate({
		width:"100px",
		height:"100px",
		top:getPosTop(?i,?j?),
		left:getPosLeft(?i,?j?),
	},50);
}

function?showMoveAnimation?(?fromx,?fromy,?tox,?toy?){
	var?numberCell?=?$(?'#number-cell-'+fromx+'-'+fromy?);
	numberCell.animate({
		top:?getPosTop(?tox,?toy),
		left:?getPosLeft(?tox,?toy)
	},200);
}


function?updateScore(?score?){
	$("#score").text(?score?);
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
function?getPosTop(?i?,?j?){
	return?20+120*i;
}

function?getPosLeft(?i?,?j?){
	return?20+120*j;
}

function?getNumberBgColor(number){
	switch(?number?){
		case?2:?return?"#eee4da";?break;
		case?4:?return?"#ede0c8";?break;
		case?8:?return?"#f2b179";?break;
		case?16:?return?"#f59563";?break;
		case?32:?return?"#f67c5f";?break;
		case?64:?return?"#f65e3b";?break;
		case?128:?return?"#edcf72";?break;
		case?256:?return?"#edcc61";?break;
		case?512:?return?"#9c0";?break;
		case?1024:?return?"#33b5e5";?break;
		case?2048:?return?"#09c";?break;
		case?4096:?return?"#a6c";?break;
		case?8192:?return?"#93c";?break;
	}
	return?"black";
}
function?getNumberColor(?number?){
	if(?number?<=?4?){
		return?"#776e65";
	}
	return?"white";
}

function?noSpace(?board?){
	for(var?i?=?0?;?i?<?4?;?i?++?)
		for(var?j?=?0?;?j?<?4?;?j?++?)
			if(?board[i][j]?==?0?)
				return?false;

	return?true;
}

function?canMoveLeft(?board?){
	for(var?i?=?0?;?i?<?4?;?i?++?)
		for(var?j?=?1?;?j?<?4?;?j?++?)
			if(?board[i][j]?!=?0?)
				if(?board[i][j-1]?==?0?||?board[i][j-1]?==?board[i][j]?)
					return?true;

	return?false;
}


function?noBlockHorizontal(?row,col1,col2,board?){
	for(var?i?=?col1+1?;?i?<?col2?;?i?++?)
		if(?board[row][i]?!=?0?)
			return?false;
			
	return?true;
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

請教代碼哪里出錯了?左移動的時候有時候不相加,有時候第一格是空的卻只移到第二格...等等bug

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號