Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2014, 20:56
Аватар для looogle
Новичок на форуме
Отправить личное сообщение для looogle Посмотреть профиль Найти все сообщения от looogle
 
Регистрация: 28.06.2014
Сообщений: 2

Переписка цикла
Доброго времени суток.Прошу простить за столь банальный пост.
Мне нужно переписать цикл do...while на цикл типа for.

do...while
var x, y;
  do 
    {
		x = MR() * gameWidth|0;
		y = MR() * gameHight|0;
	} 
	while (map[x][y]);
	map[x][y] = 1;

Тут все предельно просто MR() - Math.random
gameWidth - ширина. gameHeight - высота.

Вот код связанный с map:
for (j = 0; j < gameWidth; j++)
{
 map[j] = [];
}

Прошу помочь,кто чем сможет...
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2014, 21:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

looogle,
пару слов что скрипт должен делать?
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2014, 21:13
Аватар для looogle
Новичок на форуме
Отправить личное сообщение для looogle Посмотреть профиль Найти все сообщения от looogle
 
Регистрация: 28.06.2014
Сообщений: 2

Скрипт выводим на полотно "еду",это как-бы рандомное местоположение
Ответить с цитированием
  #4 (permalink)  
Старый 28.06.2014, 21:19
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Чем do...while не угодил?
Ответить с цитированием
  #5 (permalink)  
Старый 28.06.2014, 21:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

looogle,
и сколько 'еды' выхотите добавить на поле ?
Ответить с цитированием
  #6 (permalink)  
Старый 28.06.2014, 23:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

looogle,
пример генерации "еды" на поле для змейки
Добавить новые координаты
Ответить с цитированием
  #7 (permalink)  
Старый 29.06.2014, 01:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от рони
looogle,
пару слов что скрипт должен делать?
отвечаю -- скрипт должен выдать из матрицы ещё незаполненную ячеку.
превращаем двухмерный массив в одномерный выкидываем заполненные ячейки - рандомно достаём любую из оставшихся.
Ответить с цитированием
  #8 (permalink)  
Старый 29.06.2014, 02:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

looogle,
var map=[],n = 0, i, j, gameHight = 5, gameWidth = 8, c = [], x;
//----------------------------------------------------------------------------
for (i = 0; i< gameHight; i++){
    map.push([]);
    for(j=0; j < gameWidth; j++){
        x=Math.round(Math.random()*1);
        map[i].push(x);
    }
}

//----------------------------------------------------------------------------
 for (i = 0; i< gameHight; i++){

    for(j=0; j < gameWidth; j++){

        !map[i][j] && c.push([i,j]);
    }
}
x = c.length;
x = Math.floor( Math.random()* x);
x = c[x];
c.length && (map[x[0]][x[1]] = 'X');
alert('карта\n'+map.join('\n')+'\nвыбрано поле ' + (!!c.length && x));
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход на url после окончания цикла vas88811 Events/DOM/Window 16 21.12.2013 12:44
Решение задачи, с использованием цикла for. Eldon Общие вопросы Javascript 4 19.11.2012 10:41
Логика действий на примере цикла for ufaset Общие вопросы Javascript 1 27.11.2011 22:04
Как приостановить выполнение цикла? SashaBorandi jQuery 3 13.02.2009 08:57
как отобразить в окне значения счетчика во время выполнения цикла FOR Алекс97 Общие вопросы Javascript 5 06.09.2008 10:36