私はjqueryの掃海艇を作っています。隣接する鉱山0
でブロックをクリックすると、現在、暴露関数に取り組んでいます。意図した結果が「0
」彼らはまたしている場合、これらのブロックを明らかにし、すべての8つの隣接ブロックをループしているブロックは、そのブロックのために再発:Javascript再帰が機能しません
function reveal(block) {
block.removeClass('hide');
var thex = getXY(block)[0];
var they = getXY(block)[1];
if (blockNumber(block) == '0') {
alert('test');
--they;
--thex;
var nearmines = 0;
for (mody=0;mody<3;mody++){
for (modx=0;modx<3;modx++){
var newx = thex + modx;
var newy = they + mody;
reveal(bl(newx,newy));
}
}
}
}
現在、この機能がためにチェック最初のブロックの後に停止しています関数が反復するたびに電話がfor loops
を破っているように見えます。
は、多分あなたは明らかに関数内MODYとMODxの変数を宣言する必要があります。このように使用すると何が起こっているのか分かりません。グローバル変数ですか? – duedl0r
bl(x、y)とblockNumber(no)の機能を知っていれば確かに役に立ちます。私はgetXYが[x、y]配列を返すと仮定することができます(block.xとblock.y ...の代わりに?) –