Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2012, 21:05
Новичок на форуме
Отправить личное сообщение для _virus_ Посмотреть профиль Найти все сообщения от _virus_
 
Регистрация: 04.11.2009
Сообщений: 8

Помогите найти ошибку
js скрипт - игра сапер.
Нажимаем на ячейку и если вокруг ячейки нету бомб, то эти 8 ячеек через цикл поочереди автоматически нажимаются. И происходит такойже процесс в каждой из них.
Почему не везде открываются 8 полей вокруг пустой ячейки?

<style>
td{
	background-color: red;
	border-color: black; 
	border-width: 2px;
	border-style: solid;
	width: 30px;
	height: 30px;
}
</style>
<table id="con">
</table>
<script>
var bomb = new Array('s9x7k', 's5x4k', 's7x7k', 's5x3k', 's8x1k', 's5x2k', 's3x9k');
var press_loc = new Array();
function in_array(needle, haystack, strict){
	var found = false, key, strict = !!strict;
	for (key in haystack) {
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)){
			found = true;
			break;
		}
	}
	return found;
}
function press(s, k){
	ex = "s"+s+"x"+k+"k", num_bomb = 0, p = 0, ps = [], pk = [];
	if(!in_array(ex, press_loc)){
		if(in_array(ex, bomb)) for(i in bomb) eval(bomb[i]).style.backgroundColor = 'black';
		else{
			press_loc.push(ex);
			eval(ex).style.backgroundColor = 'white';
			for(sl=s-1;sl<s+2;sl++){
				if(sl > 0 && sl < 11){
					for(kl=k-1;kl<k+2;kl++){
						if(kl > 0 && kl < 11 && !in_array("s"+sl+"x"+kl+"k", press_loc) && (sl != s || kl != k)){
							if(in_array("s"+sl+"x"+kl+"k", bomb)) num_bomb++;
							else ps[p] = sl, pk[p] = kl, p++
						}
					}
				}
			}
		}
	}
	if(num_bomb) eval(ex).innerHTML = num_bomb;
	else if(p) for(p in ps) press(ps[p], pk[p]);
}
function cont(){
	var arrr = [];
	for(r=1;r<11;r++){
		var arrd = [];
		for(d=1;d<11;d++) arrd.push("<td onclick=\"javascript: press("+r+", "+d+");\" id=\"s"+r+"x"+d+"k\"></td>");
		arrr.push("<tr>"+arrd.join('')+"</tr>");
	}
	con.innerHTML = arrr.join('');
}
cont();
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onmauseover помогите найти ошибку realgleb Общие вопросы Javascript 2 30.08.2012 11:53
выбрать и изменить стиль элемента. Помогите найти ошибку nabiullin11 Элементы интерфейса 16 02.09.2011 11:23
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37
Помогите найти ошибку. boneg Элементы интерфейса 1 21.09.2010 22:20
Помогите найти ошибку HeegCrak Общие вопросы Javascript 1 09.04.2009 01:08