Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.11.2014, 22:23
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

моя версия
<p>Камень? Ножницы? Бумага?</p>
<select>
	<option>Не выбрано</option>
	<option>Камень</option>
	<option>Ножницы</option>
	<option>Бумага</option>
</select>

<script>
document.querySelector("select").onchange = function () {
	var rndnubmer = Math.random();

	if ( rndnubmer < 0.34 ) {
		rndnubmer = "Камень";
	} else if ( rndnubmer <= 0.67 ) {
		rndnubmer = "Ножницы";
	} else {
		rndnubmer = "Бумага";
	}
	
	var choice1 = this.options[this.selectedIndex].text;
	var choice2 = rndnubmer;
	
	var mas = [ "Камень", "Бумага", "Ножницы" ]
	var index1 = mas.indexOf(choice1);
	var index2 = mas.indexOf(choice2);
	var dif =  index1 - index2;
	console.log(index1 + " ты - " + choice1 + " : " + index2 + " компьютер - " + choice2);
	
	var result;
	if (dif == 0) {
		result = "Ничья!";
	} else if (dif == 1 || dif == -2) {
		result = choice1 + " : " + choice2 + " - ты победил!";
	} else {
		result = choice1 + " : " + choice2 + " - ты проиграл!";
	}
	console.log(result);
	this.selectedIndex = 0;
}
</script>


<p>Камень? Ножницы? Бумага?</p>
<script>
(function () {
	var mas = [ "Камень", "Бумага", "Ножницы" ];
	
	var select = document.createElement("select");
	select.innerHTML = "<option>Не выбрано</option>"
	for ( var i = 0, len = mas.length; i < len; i++ ) {
		select.innerHTML += "<option>" + mas[i] + "</option>";
	}
	document.body.appendChild(select);
	
	select.onchange = function () {
		var rndnubmer = Math.random();

		if ( rndnubmer < 0.34 ) {
			rndnubmer = "Камень";
		} else if ( rndnubmer <= 0.67 ) {
			rndnubmer = "Ножницы";
		} else {
			rndnubmer = "Бумага";
		}
		
		var choice1 = this.options[this.selectedIndex].text;
		var choice2 = rndnubmer;
		
		var index1 = mas.indexOf(choice1);
		var index2 = mas.indexOf(choice2);
		var dif =  index1 - index2;
		
		var result = choice1 + " : " + choice2;
		if (dif == 0) {
			result += " - Ничья!";
		} else if (dif == 1 || dif == -2) {
			result += " - ты победил!";
		} else {
			result += " - ты проиграл!";
		}
		console.log(result);
		this.selectedIndex = 0;
	}
})();
</script>

Последний раз редактировалось bes, 10.11.2014 в 23:00.
Ответить с цитированием
  #12 (permalink)  
Старый 11.11.2014, 00:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

bes,

<p>Камень? Ножницы? Бумага?</p>
<select>
	<option>Не выбрано</option>
	<option value=0>Камень</option>
	<option value=1>Ножницы</option>
	<option value=2>Бумага</option>
</select>
<script>
document.querySelector("select").onchange = function() {
    var mas = ["Камень", "Бумага", "Ножницы"]
    var index1 = Math.floor(3 * Math.random());;
    var index2 = this.value;
    var dif = index1 - index2;
    var result;
    if (dif == 0) {
        result = " Ничья!";
    } else if (dif == 1 || dif == -2) {
        result = " - ты победил!";
    } else {
        result = " - ты проиграл!";
    }
    alert(" ты - " + mas[index1] + " :  компьютер - " + mas[index2] + "\n" + result);
    this.selectedIndex = 0;
}
</script>
Ответить с цитированием
  #13 (permalink)  
Старый 11.11.2014, 06:41
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

рони,
Ну тогда можно еще результирующие условия в тернарные превратить
Ответить с цитированием
  #14 (permalink)  
Старый 11.11.2014, 10:56
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

Супер короткий код!
Ответить с цитированием
  #15 (permalink)  
Старый 11.11.2014, 18:34
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от рони
var index1 = Math.floor(3 * Math.random());;
рони, да, я чувствовал, что там что-то не так
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание функции realpoc Ваши сайты и скрипты 1 07.08.2013 23:36