Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2016, 23:56   #1
Soulmate
Новичок
Джуниор
 
Регистрация: 11.09.2016
Сообщений: 2
По умолчанию Помогите советом новичку в js

Здравствуйте. Такая вот проблема. Есть задание написать на js игру Угадай число для двоих игроков. вот мой код, но он работает так как нужно только в мозилле, то есть document.write выводится на экран каждый ход игры, а в том же хроме, он выведется только в самом конце программы, после того, как отработает окно prompt. Подскажите в чем проблема и можно ли как то оптимизировать этот код под хром?

Код:
<script>
var min=1;
var max=100;
var guessNumber= Math.floor(Math.random()*(max-min +1))+ min;    // Загадываем случайное число
    document.write("<h3>Компьютер загадал число от "+min+" до "+max+". У вас есть 7 попыток, что бы отгадать его<br></h3>");
var tryCount=0;// Номер попытки
var user1Answer;
var user2Answer;
do  
{    
    tryCount=tryCount+1;  // Увеличиваем количество попыток на единицу
         user1Answer=+prompt(tryCount + "-я попытка." + "\nХод первого игрока:");
         user2Answer=+prompt(tryCount + "-я попытка." + "\nХод второго игрока:");
		 document.write(tryCount + "<b>-я попытка</b><br>");
		 document.write("Первый игрок: "  + user1Answer + " ");
         document.write("<br> Второй игрок: " + user2Answer + "<br> ");
if(user1Answer>guessNumber)
             document.write("<b>Первый игрок: Перелет</b><br>");
if(user1Answer<guessNumber)
             document.write("<strong>Первый игрок: Недолет</strong><br>");
if(user2Answer>guessNumber)
             document.write("<b>Второй игрок: Перелет</b><br>");
if(user2Answer<guessNumber)
             document.write("<strong>Второй игрок: Недолет</strong><br>");			 
    }
while(user1Answer != guessNumber && user2Answer != guessNumber && tryCount<7);
if(user1Answer == guessNumber)
		document.write("<h1>Первый игрок угадал!!!</h1>");
if(user2Answer == guessNumber)
        document.write("<h1>Второй игрок угадал!!!<h1>");
if(user1Answer == guessNumber && user2Answer == guessNumber)	
		document.write("<h2>Ничья<h2>");
</script>

Последний раз редактировалось Alex11223; 12.09.2016 в 00:07.
Soulmate вне форума Ответить с цитированием
Старый 12.09.2016, 13:56   #2
Soulmate
Новичок
Джуниор
 
Регистрация: 11.09.2016
Сообщений: 2
По умолчанию

Тему можно закрывать, разобрался.
Новый движок многих браузеров Blink по другому обрабатывает DOM, в отличии от Gecko на мозилле.
Выход один - избавиться от древнего document.write
Soulmate вне форума Ответить с цитированием
Старый 12.09.2016, 19:27   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Можешь спокойно и от prompt избавляться — тоже устарелый кусок овна. Он блокирует выполнение скрипта, так что в топку его. Сразу кури асинхронное программирование.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите советом Alex9935 Свободное общение 10 28.09.2009 13:37
Помогите советом Михаил Юрьевич Общие вопросы Delphi 5 31.05.2008 16:38
Помогите советом Михаил Юрьевич Общие вопросы Delphi 8 24.05.2008 14:17