Rock Paper Scissors Syntax


#1


Javascript: Lesson 4: Computer Choice, Part 2

Syntax is wrong but I don't know how to fix.


var userChoice = prompt("Do you choose rock, paper or scissors?")

var computerChoice = Math.random()
    console.log (computerChoice) 
    
if (computerChoice <= 0.33) {
    return = "rock";
} else if (computerChoice >=0.34, <=0.66) {
    return = "paper";
} else (computerChoice >=0.67, <=1) {
    return = "scissors";
}


#2

@kmg5238,
The Math.random() method will deliver a number with a value
in the range of 0_(included)_ upontill 0.9999_(1 excluded)_.

As you will have to divide the number range form 0_(inclusive)_ to 0,9999_(so 1 excluded)_
into 3 equal partitions
we have to use an if else-if else statement.
The if else-if else skeleton looks like:

    if (conditionA) {
               //conditionA is true
                //your code 
     } else if (conditionB) {
               //conditionA is false
               //conditionB is true
              //your code 
    } else {     // <=== !! Takes NO condition-statements !!
               //conditionA is false
               //conditionB is false
              //your code 
    }

following the Instructions the conditions would be:

  1. If computerChoice is between 0 and 0.33, make computerChoice equal to "rock".
    ( 0 <= computerChoice && computerChoice <= 0.33) which we capture at the IF using
    ( computerChoice <= 0.33)

  2. If computerChoice is between 0.34 and 0.66, make computerChoice equal to "paper".
    ( 0.33 < computerChoice && computerChoice < 0.67) which we capture at the ELSE IF as
    ( computerChoice < 0.67 )

  3. If computerChoice is between 0.67 and 1, make computerChoice equal to "scissors".
    ( 0.67 <= computerChoice && computerChoice < 1) , you reached the ELSE level
    you can asume that computerChoice is greater equal to 0.67,
    the ELSE does NOT take a condition, just write your code.


#3

I too am having difficulty. I'm a real newbie and can't see what I'm doing wrong. Please be gentle and try to explain it to me like I'm five years old. Thanks! (I'm sure I'll be missing something obvious, but I can't see it.)

var userChoice = prompt ("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
console.log (computerChoice);
if (computerChoice <= 0.33) {
computerChoice = "rock";
} else if (computerChoice >=0.34, <=0.66) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
};


#4

Worked it out! Woo hooo! This worked for me:

var userChoice = prompt ("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
console.log (computerChoice);
if (computerChoice <= 0.33) {
computerChoice = "rock";
} else if (computerChoice <=0.66) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
};


#5

You're exactly right. You can't use comma's inside else if statements or even if statements for that matter. You need to use && and ||. (But that's later on)