2014-09-14 4 views
0

Привет, я очень новичок в javascript и пытаюсь сделать случайное число, угадывая игру. Я думаю, что я почти понял это, но есть одна вещь, которую я не могу понять. Everytime я запустить его я не придется вводить свой номер дважды, и он также возвращает только Lower независимо от того, какое число я типа в.Угадающая игра woes

var randomNumber = Math.floor((Math.random() * 100) + 1); 

print("I have thought of a random number in the range of 1 to 100. Guess!"); 
{ 
    while (randomNumber != readline()) 
     if (readline() < randomNumber) 
     { 
      print("Lower"); 
     } 
     else if (readline() > randomNumber) 
     { 
      print("Higher"); 
     } 
     else if (readline() == randomNumber) 
     { 
      print("Good Job"); 
     } 
} 
+0

Вам нужно форматировать код так, чтобы было легче увидеть, что происходит. По какой-то причине вы поставили фигурные скобки вокруг своего заявления. Это все равно будет работать, но ничего не делает. –

+1

Для каждого сравнения, которое вы делаете, вы читаете новую строку? Я предполагаю, что для каждого входа вы хотите сделать 3 сравнения, не так ли? – Bergi

+1

Logan - прекратите редактирование своего вопроса и уничтожьте форматирование! –

ответ

0

Ваша проблема вы звоните readline несколько раз в итерацию цикла. Здесь я хранится значение readline в переменную и использовать его для теста:

var randomNumber = Math.floor((Math.random() * 100) + 1); 

print("I have thought of a random number in the range of 1 to 100. Guess!"); 

var hasGuessedCorrectly = false; 

while (!hasGuessedCorrectly) 
{ 
    var guess = readline(); 
    if (guess < randomNumber) 
    { 
     print("Lower"); 
    } 
    else if (guess > randomNumber) 
    { 
     print("Higher"); 
    } 
    else if (guess == randomNumber) 
    { 
     print("Good Job"); 
     hasGuessedCorrectly = true; 
    } 
} 
+0

О, я вижу спасибо. Теперь он намного чище. Как я уже сказал, они действительно новы для java-скрипта XD. LOL также я понял, что у меня было больше, чем меньше, чем переключилось. Кроме того, я новый для этого сайта, я не мог разобраться во всем редактировании моего вопроса. Вы, ребята, редактировали его для меня? –

+0

Кроме того, «alot» не является словом ;-) –

+0

@LoganDodd - да, ваш код был сильно отформатирован, поэтому я переформатировал. Научитесь форматировать свой код сейчас, так как он значительно упростит происходящее. –

Смежные вопросы