Выводится один и тот же метод!
При нажатии на кнопку с классом .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, время: 04:09. |