script.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. /*
  2. Сделать задания обмена валют используя ассоциативный массив (объект) подобной структуры.
  3. Добавьте дополнительные поля при надобности. Для обращения к нужному полю используйте []. */
  4. //let currency = prompt('enter currency');
  5. /* let currencyRate = {
  6. usdB : 26.5,
  7. usdS : 26.3,
  8. eurB : 30.55,
  9. eurS : 30.3,
  10. rubB : 0.30,
  11. rubS : 0.36
  12. }
  13. if (currency.toLowerCase() === 'usd' || currency.toLowerCase() === 'eur' || currency.toLowerCase() === 'rub'){
  14. let sum = prompt('Enter curency summ');
  15. let rate = confirm('You want to buy?');
  16. rate ? alert(`You usd summ : ${sum * currencyRate[currency +'B']} uah`): alert(`You usd summ : ${sum*currencyRate[currency +'S']} uah`);
  17. } else {
  18. alert('Enter correct currency name')
  19. } */
  20. //second
  21. /* fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
  22. .then(data => {
  23. console.log(data.rates.UAH)
  24. let sum = prompt('Enter USD summ');
  25. alert(`You usd summ : ${sum * data.rates.UAH} uah`);
  26. }); */
  27. let currency;
  28. confirm('You want to see all currency names?') ? showCurencys() : exchange();
  29. function exchange() {
  30. currency = prompt('enter currency for exchange (usd, eur, rub...etc)');
  31. let url = 'https://open.er-api.com/v6/latest/' + currency.toUpperCase();
  32. if (currency.toLowerCase() === 'usd' || currency.toLowerCase() === 'eur' || currency.toLowerCase() === 'rub') {
  33. fetch(url)
  34. .then(res => res.json())
  35. .then(data => {
  36. let sum = prompt('enter amount');
  37. alert(`You usd summ : ${sum * data.rates.UAH} uah`);
  38. });
  39. } else if (currency) {
  40. fetch(url)
  41. .then(res => res.json())
  42. .then(data => {
  43. let sum = prompt('enter amount');
  44. alert(`You usd summ : ${sum * data.rates.UAH} uah`);
  45. });
  46. } else {
  47. alert('Enter correct currency name');
  48. }
  49. };
  50. function showCurencys() {
  51. fetch('https://open.er-api.com/v6/latest').then(res => res.json())
  52. .then(data => {
  53. alert(`Valid curencyss: ${Object.keys(data.rates)}`);
  54. exchange();
  55. })
  56. };
  57. /* let url = 'https://open.er-api.com/v6/latest/' + currency.toUpperCase();
  58. console.log(url);
  59. fetch(`'https://open.er-api.com/v6/latest/' + currency.toUpperCase()`).then(res => res.json())
  60. .then(data => {
  61. console.log(data.rates.uah);
  62. if (currency.toLowerCase() === 'usd' || currency.toLowerCase() === 'uah'){
  63. let sum = prompt('Enter curency summ');
  64. alert(`You usd summ : ${sum * data.rates.uah} uah`);
  65. } else {
  66. alert('Enter correct currency name')
  67. }
  68. }) */
  69. /* Дополнительное задание
  70. Слепить все задания в один текст, таким образом что бы вначале происходил ввод названия задания, каждое задание при этом находится в отдельном case оператора switch. Например case "currency calc" для калькулятора обмена валют. */
  71. /*
  72. let taskTitle = prompt('Enter task title: currencyCalc, scissors or sizeCalc');
  73. switch(taskTitle){
  74. case 'currencyCalc': currencyCalc();
  75. break;
  76. case 'scissors': scissors();
  77. break;
  78. case 'sizeCalc': sizeCalc();
  79. break;
  80. }
  81. function currencyCalc() {
  82. let currency = prompt('enter currency');
  83. if (currency.toLocaleLowerCase() === 'usd'){
  84. let sum = prompt('Enter curency summ');
  85. let rate = confirm('You want to buy?');
  86. rate ? alert(`You usd summ : ${sum*26.55} uah`): alert(`You usd summ : ${sum*26.3} uah`);
  87. } else if (currency.toLocaleLowerCase() === 'eur') {
  88. let sumE = prompt('Enter curency summ');
  89. let rateE = confirm('You want to buy?');
  90. rateE ? alert(`You usd summ : ${sumE*30.55} uah`): alert(`You usd summ : ${sumE*30.3} uah`);
  91. } else {
  92. alert('Enter correct currency name')
  93. }
  94. }
  95. function scissors() {
  96. let userAnswer = prompt('Enter you choise');
  97. let appAnswer = Math.random() * 100;
  98. if (appAnswer > 33 && appAnswer < 66){
  99. appAnswer = 'камень';
  100. alert(appAnswer);
  101. if (appAnswer === userAnswer) {
  102. alert(' ничья ');
  103. } else if (userAnswer === 'бумага') {
  104. alert('you winner');
  105. } else if (userAnswer === 'ножницы'){
  106. alert('you looser');
  107. }
  108. } else if (appAnswer < 33) {
  109. appAnswer = 'бумага';
  110. alert(appAnswer);
  111. if (appAnswer === userAnswer) {
  112. alert(' ничья ');
  113. } else if (userAnswer === 'камень') {
  114. alert('you looser');
  115. } else if (userAnswer === 'ножницы'){
  116. alert('you winner');
  117. }
  118. } else if (appAnswer > 66) {
  119. appAnswer = 'ножницы';
  120. alert(appAnswer);
  121. if (appAnswer === userAnswer) {
  122. alert(' ничья ');
  123. } else if (userAnswer === 'камень') {
  124. alert('you looser');
  125. } else if (userAnswer === 'бумага'){
  126. alert('you winner');
  127. }
  128. }
  129. }
  130. function sizeCalc() {
  131. let userSize = +prompt('Enter you waist coverage', '');
  132. switch (true){
  133. case userSize > 63 && userSize < 65:
  134. alert(`${userSize} - XXS `);
  135. break;
  136. case userSize > 66 && userSize < 69:
  137. alert(`${userSize} - XS `);
  138. break;
  139. case userSize > 70 && userSize < 74:
  140. alert(`${userSize} - S `);
  141. break;
  142. case userSize > 79 && userSize < 83:
  143. alert(`${userSize} - L`);
  144. break;
  145. case userSize > 84 && userSize < 89:
  146. alert(`${userSize} - XL `);
  147. break;
  148. case userSize > 90 && userSize < 94:
  149. alert(`${userSize} - XXL `);
  150. break;
  151. case userSize > 95 && userSize < 97:
  152. alert(`${userSize} - XXXL `);
  153. break;
  154. default: alert('maybe stop eating');
  155. }
  156. } */
  157. /* Сделайте игру "камень-ножницы-бумага", как описано выше,
  158. пользуясь логическими операциями (&&, ||, !),
  159. не используя if и switch. Задание должно быть решено одним выражением */
  160. let userAnswer = prompt('Enter you choise');
  161. let appAnswer = Math.random() * 100;
  162. (appAnswer > 33 && appAnswer < 66) ? appAnswer = 'камень' : (appAnswer < 33)? appAnswer = 'бумага':appAnswer = 'ножницы';
  163. (appAnswer === userAnswer) ? alert(' ничья '): (userAnswer === 'бумага' && appAnswer === 'камень') ? alert('you winner'): (userAnswer === 'бумага' && appAnswer === 'ножницы') ? alert('you looser') :(userAnswer === 'камень' && appAnswer === 'бумага')? alert('you looser') : (userAnswer === 'камень' && appAnswer === 'ножницы')? alert('you winner') : (userAnswer === 'ножницы' && appAnswer === 'бумага')? alert('you winner'):(userAnswer === 'ножницы' && appAnswer === 'камень')?alert('you looser') :alert('you winner') ;