Why does my program not work

You have to compare not assign. Use == or better ===:

if (cs == ps) {

When you assign, you already setting it up to tie. Here’s your fully corrected code
snippet:

var output = document.getElementById("output");
var player = prompt("Do you Choose Rock, Paper or Scissors?")
var ps = player.charAt(0).toUpperCase();
var win = false;
var computer = Math.random();
if (computer < 0.34) {
  computer = "Rock";
} else if (computer < 0.67) {
  computer = "Paper";
} else {
  computer = "Scissors";
}
var cs = computer.charAt(0).toUpperCase();
console.log(computer);
var html = "";
if (cs == ps) {
  html += "Its a tie!";
} else {
  if (ps == "R") {
    if (cs == "S") {
      win = true;
    }
  } else if (ps == "P") {
    if (cs == "R") {
      win = true;
    }
  } else {
    if (cs == "P") {
      win = true;
    }
  }
  if (win) {
    html += "Player Wins!";
  } else {
    html += "Computer Wins!";
  }
}
output.innerHTML = "Player Vs Computer<br>" + player + " " + "vs" + " " + computer + "<br>Result:" + " " + html;
<div id="output">Complete Java Script Course</div>

Leave a Comment