main.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. function runSwitchSizes() {
  2. const size = prompt('Введите ваш размер верхней одежды (от 40 до 54)');
  3. switch (+size) {
  4. case 40:
  5. alert('По системе мерок США у вас размер S(6)');
  6. break;
  7. case 42:
  8. alert('По системе мерок США у вас размер M(8)');
  9. break;
  10. case 44:
  11. alert('По системе мерок США у вас размер 10');
  12. break;
  13. case 46:
  14. alert('По системе мерок США у вас размер L(12)');
  15. break;
  16. case 48:
  17. alert('По системе мерок США у вас размер XL(14)');
  18. break;
  19. case 50:
  20. alert('По системе мерок США у вас размер XXL(16)');
  21. break;
  22. default:
  23. alert('Вы допустили ошибку! Проверьте правильность ввода данных!');
  24. }
  25. }
  26. function runSwitchIf() {
  27. const color = prompt('Введите цвет', '');
  28. if (color === 'red') {
  29. document.write('<div style=\'background-color: red;\'>красный</div>');
  30. document.write('<div style=\'background-color: black; color: white;\'>черный</div>');
  31. } else if (color === 'blue') {
  32. document.write('<div style=\'background-color: blue;\'>синий</div>');
  33. document.write('<div style=\'background-color: green;\'>зеленый</div>');
  34. } else {
  35. document.write('<div style=\'background-color: gray;\'>Я не понял</div>');
  36. }
  37. }
  38. function runPromptOr() {
  39. const agePerson = prompt('Сколько вам лет?');
  40. if (agePerson === null || agePerson === '') {
  41. alert('Ошибка!Проверьте правильность ввода данных!');
  42. } else {
  43. const resultYear = 2021 - agePerson;
  44. alert(`Ваш год рождения ${resultYear}`);
  45. }
  46. prompt('Сколько вам лет?') || alert('Ошибка!Проверьте правильность ввода данных!');
  47. }
  48. function runConfirmOrThisDays() {
  49. confirm('шопинг?') || alert('ты бяка');
  50. }
  51. function runIfThisDays() {
  52. const resultRequest = confirm('шопинг?');
  53. if (resultRequest === false) {
  54. alert('ты бяка');
  55. } else {
  56. alert(`ееее`);
  57. }
  58. }
  59. function runTriplePrompt() {
  60. const userName = prompt('Введите имя') || alert('Вы ничего не ввели!');
  61. const userSurName = prompt('Введите фамилию') || alert('Вы ничего не ввели!');
  62. const userPoBatkovi = prompt('Введите отчество') || alert('Вы ничего не ввели!');
  63. alert(`${userSurName} ${userName} ${userPoBatkovi}`);
  64. }
  65. function runDefaultOr() {
  66. const userName1 = prompt('Введите имя', 'Ivanov');
  67. const userSurName1 = prompt('Введите фамилию', 'Ivan');
  68. const userPoBatkovi1 = prompt('Введите отчество', 'Ivanovich');
  69. alert(`${userSurName1} ${userName1} ${userPoBatkovi1}`);
  70. }
  71. function runDefaultIf() {
  72. const userName2 = prompt('Введите имя');
  73. const userSurName2 = prompt('Введите фамилию');
  74. const userPoBatkovi2 = prompt('Введите отчество');
  75. if (userName2 === '' || userName2 === null && userSurName2 === '' || userSurName2 === null && userPoBatkovi2 === '' || userPoBatkovi2 === null) {
  76. const userName2 = 'Ivan';
  77. const userSurName2 = 'Ivanov';
  78. const userPoBatkovi2 = 'Ivanovich';
  79. alert(`${userSurName2} ${userName2} ${userPoBatkovi2}`);
  80. } else {
  81. alert(`${userSurName2} ${userName2} ${userPoBatkovi2}`);
  82. }
  83. }
  84. function runLoginAndPassword() {
  85. const registration = {
  86. login: 'admin',
  87. password: 'qwerty'
  88. };
  89. const login = prompt('Введите логин');
  90. if (login === registration.login) {
  91. const password = prompt('Введите пароль');
  92. if (password === registration.password) {
  93. alert('Поздравляю!Все ок!');
  94. } else {
  95. alert('Проверьте правильность ввода пароля!');
  96. }
  97. } else {
  98. alert('Проверьте правильность ввода логина!');
  99. }
  100. }
  101. function runCurrencyCalcImproved() {
  102. const currency = prompt('Введите валюту', 'USD/EUR/CZK');
  103. const changeCurrency = prompt('Введите цифру в гривнах', 'гривна');
  104. const arrCurrency = {
  105. euro: 'EUR',
  106. dollar: 'USD',
  107. crown: 'CZK'
  108. };
  109. switch (currency.toLowerCase()) {
  110. case arrCurrency.euro.toLowerCase():
  111. alert(` ${(+changeCurrency / 30.45).toFixed(2)} евро`);
  112. break;
  113. case arrCurrency.dollar.toLowerCase():
  114. alert(` ${(+changeCurrency / 26.30).toFixed(2)} долларов`);
  115. break;
  116. case arrCurrency.crown.toLowerCase():
  117. alert(` ${(+changeCurrency / 32.45).toFixed(2)} кроны`);
  118. break;
  119. default:
  120. alert('Ошибка!');
  121. }
  122. }
  123. function runCurrencyTwoRatesIf() {
  124. const arrCurrency = {
  125. euro: 'EUR',
  126. dollar: 'USD',
  127. crown: 'CZK'
  128. };
  129. if (confirm('Вы хотите купить валюту?')) {
  130. const buyCurrency = prompt('Какую валюту вы хотите купить?', ' USD/EUR/CZK');
  131. const numberCurrencyBuy = prompt('Введите сумму в гривнах');
  132. if (buyCurrency.toLowerCase() === arrCurrency.euro.toLowerCase()) {
  133. alert(` ${(+numberCurrencyBuy / 30.45).toFixed(2)} евро`);
  134. } else if (buyCurrency.toLowerCase() === arrCurrency.dollar.toLowerCase()) {
  135. alert(` ${(+numberCurrencyBuy / 26.30).toFixed(2)} долларов`);
  136. } else if (buyCurrency.toLowerCase() === arrCurrency.crown.toLowerCase()) {
  137. alert(` ${(+numberCurrencyBuy / 32.45).toFixed(2)} крон`);
  138. } else {
  139. alert('Ошибка! Проверьте правильность ввода данных!');
  140. }
  141. } else if (confirm('Вы хотите продать валюту?')) {
  142. const sellCurrency = prompt('Какую валюту вы хотите продать?', ' USD/EUR/CZK');
  143. const numberCurrencySell = prompt('Введите сумму которую вы хотите продать');
  144. if (sellCurrency.toLowerCase() === arrCurrency.euro.toLowerCase()) {
  145. alert(` ${(+numberCurrencySell * 30.45).toFixed(2)} гривен`);
  146. } else if (sellCurrency.toLowerCase() === arrCurrency.dollar.toLowerCase()) {
  147. alert(` ${(+numberCurrencySell * 26.30).toFixed(2)} гривен`);
  148. } else if (sellCurrency.toLowerCase() === arrCurrency.crown.toLowerCase()) {
  149. alert(` ${(+numberCurrencySell * 32.45).toFixed(2)} гривен`);
  150. } else {
  151. alert('Ошибка! Проверьте правильность ввода данных!');
  152. }
  153. }
  154. }
  155. function runScissors1() {
  156. const userResultScissors = prompt('Введите камень/ножницы/бумага');
  157. const words = ['камень', 'ножницы', 'бумага'];
  158. const randomResultScissors = Math.floor(Math.random() * words.length);
  159. const resultRandom = words[randomResultScissors];
  160. alert(`Компьютер выбрал ${resultRandom}`);
  161. if (userResultScissors === 'камень' && resultRandom === 'ножницы') {
  162. alert('Поздравляю! Вы победили');
  163. } else if (userResultScissors === 'ножницы' && resultRandom === 'бумага') {
  164. alert('Поздравляю! Вы победили');
  165. } else if (userResultScissors === 'бумага' && resultRandom === 'камень') {
  166. alert('Поздравляю! Вы победили');
  167. } else if (resultRandom === 'камень' && userResultScissors === 'ножницы') {
  168. alert('Вы проиграли');
  169. } else if (resultRandom === 'ножницы' && userResultScissors === 'бумага') {
  170. alert('Вы проиграли');
  171. } else if ((userResultScissors === 'камень' && resultRandom === 'камень') || (userResultScissors === 'ножницы' && resultRandom === 'ножницы') || (userResultScissors === 'бумага' && resultRandom === 'бумага')) {
  172. alert('Ничья');
  173. } else {
  174. alert('Ошибка! Вы ничего не выбрали!');
  175. }
  176. };
  177. function runScissors2() {
  178. let userScore = 0;
  179. let computerScore = 0;
  180. let $wrapper = document.createElement('div');
  181. $wrapper.className = 'wrapper';
  182. document.body.appendChild($wrapper);
  183. let $h1 = document.createElement('h1');
  184. $h1.className = 'h1';
  185. $h1.textContent = 'Камень Ножницы Бумага';
  186. $wrapper.appendChild($h1);
  187. let $allSpan = document.createElement('div');
  188. $allSpan.className = 'allSpan';
  189. $wrapper.appendChild($allSpan);
  190. let $span1 = document.createElement('span');
  191. $span1.className = 'span1';
  192. $span1.textContent = `Игрок: ${computerScore}`;
  193. $allSpan.appendChild($span1);
  194. let $span2 = document.createElement('span');
  195. $span2.className = 'span2';
  196. $span2.textContent = `Компьютер: ${computerScore}`;
  197. $allSpan.appendChild($span2);
  198. let $choose = document.createElement('div');
  199. $choose.textContent = 'Выберите ход';
  200. $choose.className = 'choose';
  201. $wrapper.appendChild($choose);
  202. let $allButton = document.createElement('div');
  203. $allButton.className = 'allButton';
  204. $wrapper.appendChild($allButton);
  205. let $button1 = document.createElement('button');
  206. $button1.className = 'button1';
  207. $button1.textContent = 'камень';
  208. $allButton.appendChild($button1);
  209. let $button2 = document.createElement('button');
  210. $button2.className = 'button2';
  211. $button2.textContent = 'ножницы';
  212. $allButton.appendChild($button2);
  213. let $button3 = document.createElement('button');
  214. $button3.className = 'button3';
  215. $button3.textContent = 'бумага';
  216. $allButton.appendChild($button3);
  217. $button1.onclick = function (e) {
  218. startGame('камень');
  219. getScore();
  220. };
  221. $button2.onclick = function (e) {
  222. startGame('ножницы');
  223. getScore();
  224. };
  225. $button3.onclick = function (e) {
  226. startGame('бумага');
  227. getScore();
  228. };
  229. function computerChoice() {
  230. const computerOptions = ['камень', 'ножницы', 'бумага'];
  231. const randomResultScissors = Math.floor(Math.random() * computerOptions.length);
  232. return computerOptions[randomResultScissors];
  233. }
  234. let $out = document.createElement('div');
  235. $out.textContent = '';
  236. $wrapper.appendChild($out);
  237. function startGame(userChoice) {
  238. let resComputerChoice = computerChoice();
  239. if (userChoice === 'камень' && resComputerChoice === 'ножницы' || userChoice === 'ножницы' && resComputerChoice === 'бумага' || userChoice === 'бумага' && resComputerChoice === 'камень') {
  240. userScore++;
  241. $span1.textContent = `Игрок: ${userScore}`;
  242. return $out.textContent = '+ игроку!';
  243. } else if (resComputerChoice === 'камень' && userChoice === 'ножницы' || resComputerChoice === 'ножницы' && userChoice === 'бумага' || resComputerChoice === 'бумага' && userChoice === 'камень') {
  244. computerScore++;
  245. $span2.textContent = `Компьютер: ${computerScore}`;
  246. return $out.textContent = '+ компьютеру!';
  247. } else {
  248. return $out.textContent = 'ничья!';
  249. }
  250. }
  251. let $outResultWinner = document.createElement('div');
  252. $outResultWinner.className = 'outResultWinner';
  253. $allSpan.appendChild($outResultWinner);
  254. function getScore() {
  255. if (userScore >= 10) {
  256. $outResultWinner.textContent = 'Поздравляю, вы победили!';
  257. userScore = 0;
  258. $span1.textContent = `Игрок: ${userScore}`;
  259. computerScore = 0;
  260. $span2.textContent = `Компьютер: ${computerScore}`;
  261. setTimeout(() => {
  262. $outResultWinner.textContent = ''}, 3000);
  263. } else if (computerScore >= 10) {
  264. $outResultWinner.textContent = 'Поражение, победил компьютер!';
  265. userScore = 0;
  266. $span1.textContent = `Игрок: ${userScore}`;
  267. computerScore = 0;
  268. $span2.textContent = `Компьютер: ${computerScore}`;
  269. setTimeout(() => {
  270. $outResultWinner.textContent = ''}, 5000);
  271. }
  272. }
  273. }
  274. function runRealData() {
  275. function getCurrency(currency) {
  276. if (confirm('Вы хотите купить валюту?')) {
  277. const buyCurrency = prompt('Какую валюту вы хотите купить?', 'Например: EUR/CZK');
  278. const numberCurrencyBuy = prompt('Введите сумму в гривнах');
  279. let resultSearch = currency[buyCurrency];
  280. alert(` ${(+numberCurrencyBuy / resultSearch).toFixed(2)} `);
  281. } else if (confirm('Вы хотите продать валюту?')) {
  282. const sellCurrency = prompt('Какую валюту вы хотите продать?', 'Например: EUR/CZK');
  283. const numberCurrencySell = prompt('Введите сумму которую вы хотите продать');
  284. let resultSearch = currency[sellCurrency];
  285. alert(` ${(+numberCurrencySell * resultSearch).toFixed(2)} `);
  286. } else {
  287. alert('Ошибка! Проверьте правильность ввода данных!');
  288. }
  289. }
  290. fetch('https://open.er-api.com/v6/latest/USD')
  291. .then(res => res.json())
  292. .then(data => {
  293. getCurrency(data.rates);
  294. });
  295. }
  296. const tasksArr = [
  297. ['switch: sizes', runSwitchSizes],
  298. ['switch: if', runSwitchIf],
  299. ['prompt: or', runPromptOr],
  300. ['confirm: or this days', runConfirmOrThisDays],
  301. ['confirm: if this days', runIfThisDays],
  302. ['triple prompt', runTriplePrompt],
  303. ['default: or', runDefaultOr],
  304. ['default: if', runDefaultIf],
  305. ['login and password', runLoginAndPassword],
  306. ['currency calc: improved', runCurrencyCalcImproved],
  307. ['currency calc: two rates if', runCurrencyTwoRatesIf],
  308. ['scissors1', runScissors1],
  309. ['scissors2', runScissors2],
  310. ['real data', runRealData]
  311. ];
  312. let $list = document.querySelector('.list');
  313. tasksArr.forEach(task => {
  314. const [name, callback] = task;
  315. const $div = document.createElement('div');
  316. $div.className = 'div';
  317. let $button = document.createElement('button');
  318. $button.textContent = 'Запустить';
  319. $button.className = 'button';
  320. $button.onclick = callback;
  321. $div.appendChild($button);
  322. const $li = document.createElement('li');
  323. $li.className = 'li';
  324. $li.textContent = name;
  325. $div.appendChild($li);
  326. $list.appendChild($div);
  327. });