Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Как узнать принадлежность к промежутку? (https://javascript.ru/forum/project/41881-kak-uznat-prinadlezhnost-k-promezhutku.html)

CoruptedMan 02.10.2013 20:17

Как узнать принадлежность к промежутку?
 
Я только учусь, начал заниматься по одному курсу. По заданию писал программу по типу камень-ножницы-бумага, сделал переменную с выбором компьютера, равняется Math.random, сделал if/ else if/ else чтобы сделать 3 варианта для выбора компа, т.е нужно чтобы если результат рандом от 0 до 0.33 то камень, от 0.34 до 0.66 то бумага и от 0.67 и далее ножницы. Сделал для 1 и 3, а как сделать проверку в else if чтобы он проверял
Вот мой код:
var userChoice = prompt("Do you choose rock, paper or scissors?");

if ((userChoice === "rock") || (userChoice === "paper") || (userChoice === "scissors"))
    console.log("Nice choice!")
else
    console.log("Please, make a correct choice!")

var computerChoice = Math.random();

if (computerChoice <= 0.33 )
{
    computerChoice = "rock";
}
        else if ((computerChoiсe > 0.33) && (computerChoiсe <= 0.66))
    {
        computerChoice = "paper";
    }
        else
        {
            computerChoice = "scissors";
        }   
        
console.log(computerChoice);

Конкретно, что не так в этом месте:
else if ((computerChoiсe > 0.33) && (computerChoiсe <= 0.66))

Спасибо заранее! :)

BETEPAH 03.10.2013 00:14

А надпись в отладчике
Цитата:

ReferenceError: computerChoi\u0441e is not defined
ни на что не намекает? ;)
Поменяйте русскую "с" на латинскую "c"

keen 11.10.2013 16:23

правильнее так
var ROCK = 'rock',
    PAPER = 'paper',
    SCISSORS = 'scissors',
    iHumanTurn,
    sHumanTurn = '',
    sCompTurn,
    err = '';

function getName(x) {
    switch (x) {
        case 0: return ROCK;
        case 1: return PAPER;
        case 2: return SCISSORS;
    }
}
    
while (!sHumanTurn) {
    iHumanTurn = +prompt(err + 'Choose: 1 - rock; 2 - paper, 3 - scissors');
    sHumanTurn = getName(iHumanTurn - 1);
    err = !sHumanTurn ? 'Error! Try again!\n' : '';
}

sCompTurn = getName(Math.floor(Math.random() * 3));

после выполнения этого кода у тебя в sHumanTurn и sCompTurn строки с выбором игрока и компутера соответственно.
можно сравнивать и выводить результат.

devote 11.10.2013 17:38

Цитата:

Сообщение от CoruptedMan
Как узнать принадлежность к промежутку?

подходишь к зеркалу, снимаешь штаны, смотришь кому принадлежит)))

Deff 11.10.2013 17:43

http://javascript.ru/forum/project/4...tml#post266436

DjDiablo 11.10.2013 19:16

У дефа классное решение.

В порядке шутки публикую. Весьма виртуозный способ определить принадлежность к отрезку через задницу :D Это в тему быдлокодинга надо запостить. Я не знаю что будет с преподом если ему такое показать :)

var a= prompt('Введите число от 0 до 9: ', 1);
      
switch(true){
        case a<2:
          alert('от 0 до 2')
        break;  
          
        case a<4:
          alert('от 2 до 4')
        break;            

        case a<6:
          alert('от 4 до 6')
        break;              

        case a<9:
          alert('от 6 до 9')
        break;                                		           
}


Часовой пояс GMT +3, время: 19:21.