Выводится один и тот же метод!
При нажатии на кнопку с классом .ch1 выводится постоянно только:
alert("Ничья!"); alert("Ответ компьютера: Камень"); Все, же условие не выполняется!Пытался искать информацию в интернете,но по этой теме ничего не нашёл!Помогите,что надо сделать чтобы условие выполнялось и при этом еще и выводилось. var first = document.querySelector('.ch1') first.addEventListener("click",function MySearc(){ let x = 1; let y = 2; let z = 3; var computer = Math.floor(Math.random * 3); if (computer == x && computer !== y || z){ alert("Ничья!"); alert("Ответ компьютера: Камень");} else if (computer == y && computer !== x || z) { alert("Вы проиграли!"); alert("Ответ компьютера: Бумага");} else if(computer == z && computer !== x || y){ alert("Вы победили!"); alert("Ответ компьютера: Ножницы");} else{ console.log("Error:see on code again"); } }) |
Скрипт с кем играет у вас?
|
похоже, с игроком, который может выбрать только "камень" :)
|
К чему привязан?
|
Можете условие перевести на человеческий язык?
|
С компьютером
|
Цитата:
|
Еще Math.random - метод, не свойство, его нужно вызывать.
var computer = Math.floor(Math.random*!*()*/!* * 3); |
Цитата:
или где ввод пользователя? |
Цитата:
|
Norvus, я просил перевести условие на человеческий, не могу понять, что вы пытаетесь проверить.
|
Цитата:
|
Цитата:
|
есть три кнопки а событие на одной?
Math.floor(Math.random() * 3); - выводит 0,1 или 2 у вас переменные 1,2,3 |
Цитата:
|
<meta charset="utf-8"> <button class="ch1">Камень</button> <script> var first = document.querySelector('.ch1') first.addEventListener("click",function MySearc(){ let x = 1; let y = 2; let z = 3; var computer = Math.floor(Math.random() * 3 + 1); if (computer == x ){ alert("Ничья!"); alert("Ответ компьютера: Камень");} else if (computer == y ) { alert("Вы проиграли!"); alert("Ответ компьютера: Бумага");} else if(computer == z ){ alert("Вы победили!"); alert("Ответ компьютера: Ножницы");} else{ console.log("Error:see on code again"); } }) </script> |
if (computer !== x && computer !== y || z)
ваше условие будет выполняться всегда if(false||3) alert('условие выполняется') |
https://jsfiddle.net/v84pnatf/
<label> <input type="radio" name="item" value="1"> Камень </label> <label> <input type="radio" name="item" value="2"> Ножницы </label> <label> <input type="radio" name="item" value="3"> Бумага </label> <input type="button" id="button" value="Button"> <div id="res"></div> <style>label{display:block}</style> <script> button.onclick=function(){ const user=+document.querySelector('[name="item"]:checked').value; const npc=Math.floor(Math.random()*3)+1; const userWin=npc===(user%3+1); res.innerHTML=(user===npc)?'Ничья':'Вы '+(userWin?'победили':'проиграли') +'<br/>' +'Оппонент показал '+(npc===1?'камень':(npc===2?'ножницы':'бумагу')); }; </script> |
Цитата:
|
Nexus,
Ничьей не хватает |
Цитата:
|
j0hnik, точно)
Поправил. |
Math.floor(Math.random() * 3) + 1;
|
Math.floor(Math.random() * (3 - 1) +1);
|
Цитата:
выводится только:alert("Ничья!"); alert("Ответ компьютера: Камень"); |
|
Цитата:
|
Norvus,
Math.floor(Math.random() * 3) + 1; |
Цитата:
|
Часовой пояс GMT +3, время: 00:35. |