Создание функции
Начал изучать JS, подскажите как создать функцию "выбор правильного окончания", не хочется каждый раз писать в функции "для нажатия кнопки" одно и тоже 3 раза. А заодно и подскажите что неверно в коде, как можно сделать проще и лучше?
<html> <head> <script type="text/javascript"> var arr = ["Камень", "Ножницы", "Бумага"];//Объявление массива var kamen = function(){//Объявление функции для нажатия кнопки камень var rand = Math.floor( Math.random() * arr.length );//объявление переменной рандом, равной случайному значению из массива "arr" if(arr[rand]=="Бумага")//Выбор правильного окончания выпал/а/и var okonchanie="а"; if(arr[rand]=="Ножницы")// -//- var okonchanie="и"; if(arr[rand]=="Камень")// -//- var okonchanie=""; alert('У компьютера выпал' + okonchanie + " " + arr[rand]);// -//- if(arr[rand]=="Камень")//Условие для ничьей alert("Ничья, Камень на Камень"); if (arr[rand]=="Ножницы")//Условие для победы alert("Вы победили, камень бъёт ножницы"); if (arr[rand]=="Бумага")//Условие для поражения alert("Вы проиграли, бумага накрывает камень"); }; var nojnici = function(){ var rand = Math.floor( Math.random() * arr.length ); if(arr[rand]=="Бумага") var okonchanie="а"; if(arr[rand]=="Ножницы") var okonchanie="и"; if(arr[rand]=="Камень") var okonchanie=""; alert('У компьютера выпал' + okonchanie + " " + arr[rand]); if(arr[rand]=="Ножницы") alert("Ничья, Ножницы на Ножницы"); if(arr[rand]=="Камень") alert("Вы проиграли, Камень бьет Ножницы "); if(arr[rand]=="Бумага") alert("Вы выйграли, Ножницы режут Бумагу"); }; var bumaga = function(){ var rand = Math.floor( Math.random() * arr.length ); if(arr[rand]=="Бумага") var okonchanie="а"; if(arr[rand]=="Ножницы") var okonchanie="и"; if(arr[rand]=="Камень") var okonchanie=""; alert('У компьютера выпал' + okonchanie + " " + arr[rand]); if(arr[rand]=="Бумага") alert("Ничья, Бумага на Бумагу"); if(arr[rand]=="Ножницы") alert("Вы проиграли, Ножницы режут бумагу"); if(arr[rand]=="Камень") alert("Вы выйграли, Бумага накрывает Камень"); }; </script> </head> <body> <FORM> <INPUT TYPE=button VALUE="Камень" onClick="kamen()";/> <INPUT TYPE=button VALUE="Ножницы" onClick="nojnici()";/> <INPUT TYPE=button VALUE="Бумага" onClick="bumaga()";/> </FORM> </body> </html> |
<html> <head> <script type="text/javascript"> //Массив Вариантов: var arrOut=[]; //Элементы массива Вариантов: //массив из вариантa результата + ответа компа; //0 - Камень; 1 - Ножницы; 2 - Бумага; arrOut[0]=[0,0,"Ничья, Камень на Камень"]; arrOut[1]=[0,1,"Вы победили, камень бьёт ножницы"]; arrOut[2]=[0,2,"Вы проиграли, бумага накрывает камень"]; arrOut[3]=[1,0,"Вы проиграли, Камень бьет Ножницы"]; arrOut[4]=[1,1,"Ничья, Ножницы на Ножницы"]; arrOut[5]=[1,2,"Вы выиграли, Ножницы режут Бумагу"]; arrOut[6]=[2,0,"Вы выиграли, Бумага накрывает Камень"]; arrOut[7]=[2,1,"Вы проиграли, Ножницы режут бумагу"]; arrOut[8]=[2,2,"Ничья, Бумага на Бумагу"]; var startFunc = function(items){ //items//То, что Выбрали по кнопке //items=0 - Камень; items=1 - Ножницы;items=2 - Бумага; var arr0 = [0,1,2]; //Массив выбора компа: var rand = Math.floor( Math.random() * arr0.length ); //alert(rand) var strStart = 'У компьютера выпа' //Начало; var arr1 = ['л: Камень','ли: Ножницы','ла: Бумага']; //Ответ компа - концовка var str = strStart + arr1[rand]; //Итоговая строка alert(str); //Ответ компа; var arrNew =[items,rand]; //Массив результата событий; //Ищем его cоответствие в возможных Вариантах перебором списка arrOut var otwet = ''; for(var i=0;i<arrOut.length; i++) { if(arrOut[i][0]==arrNew[0]){ //Если Первый элемент в массиве совпал с items if(arrOut[i][1]==arrNew[1]){otwet=arrOut[i][2];break;} //Совпали оба элемента; } } alert(otwet); } </script> </head> <body> <FORM> <INPUT TYPE=button VALUE="Камень" onClick="startFunc(0)";/> <INPUT TYPE=button VALUE="Ножницы" onClick="startFunc(1)";/> <INPUT TYPE=button VALUE="Бумага" onClick="startFunc(2)";/> </FORM> </body> </html> |
Часовой пояс GMT +3, время: 06:22. |