Maestro1

сайтик

Jun 18th, 2024
738
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const legkieVoprosy = [
  2.     { vopros: 'Столица Франции', otvet: 'ПАРИЖ' },
  3.     { vopros: 'Самая длинная река в мире', otvet: 'НИЛ' },
  4.     { vopros: 'Третья планета от Солнца', otvet: 'ЗЕМЛЯ' },
  5.     { vopros: 'Самая большая пустыня в мире', otvet: 'САХАРА' },
  6.     { vopros: 'Самая высокая гора в мире', otvet: 'ЭВЕРЕСТ' },
  7.     { vopros: 'Национальный цветок Японии', otvet: 'САКУРА' },
  8.     { vopros: 'Первый человек в космосе', otvet: 'ГАГАРИН' },
  9.     { vopros: 'Столица Австралии', otvet: 'КАНБЕРРА' },
  10.     { vopros: 'Автор романа "Война и мир"', otvet: 'ТОЛСТОЙ' },
  11.     { vopros: 'Самое глубокое озеро в мире', otvet: 'БАЙКАЛ' }
  12. ];
  13.  
  14. const srednieVoprosy = [
  15.     { vopros: 'Национальная валюта Японии', otvet: 'ЙЕНА' },
  16.     { vopros: 'Столица России', otvet: 'МОСКВА' },
  17.     { vopros: 'Самая большая страна в мире', otvet: 'РОССИЯ' },
  18.     { vopros: 'Вторая планета от Солнца', otvet: 'ВЕНЕРА' },
  19.     { vopros: 'Национальный цветок Нидерландов', otvet: 'ТЮЛЬПАН' },
  20.     { vopros: 'Первый президент США', otvet: 'ВАШИНГТОН' },
  21.     { vopros: 'Изобретатель лампы накаливания', otvet: 'ЭДИСОН' },
  22.     { vopros: 'Самая маленькая страна в мире', otvet: 'ВАТИКАН' },
  23.     { vopros: 'Столица Италии', otvet: 'РИМ' },
  24.     { vopros: 'Национальный спорт Канады', otvet: 'ХОККЕЙ' }
  25. ];
  26.  
  27. const slozhnyeVoprosy = [
  28.     { vopros: 'Национальный напиток Бразилии', otvet: 'КАФЕ' },
  29.     { vopros: 'Самый большой остров в мире', otvet: 'ГРЕНЛАНДИЯ' },
  30.     { vopros: 'Самая глубокая точка океана', otvet: 'МАРИАНСКАЯ ВПАДИНА' },
  31.     { vopros: 'Основатель компании Microsoft', otvet: 'ГЕЙТС' },
  32.     { vopros: 'Самый большой океан в мире', otvet: 'ТИХИЙ' },
  33.     { vopros: 'Автор картины "Мона Лиза"', otvet: 'ДА ВИНЧИ' },
  34.     { vopros: 'Столица Египта', otvet: 'КАИР' },
  35.     { vopros: 'Самая высокая башня в мире', otvet: 'БУРДЖ-ХАЛИФА' },
  36.     { vopros: 'Изобретатель телефона', otvet: 'БЕЛЛ' },
  37.     { vopros: 'Самая большая планета в Солнечной системе', otvet: 'ЮПИТЕР' }
  38. ];
  39.  
  40.  
  41. let tekushiiVoprosIndex = 0;
  42. let tekushiiIgrokk = 1;
  43. let ochkiIgroka1 = 0;
  44. let ochkiIgroka2 = 0;
  45. let otkrytoeSlovo = [];
  46. let tekushiiUrovenVoprosov = [];
  47. let nepravIlNiePopytki = 0;
  48.  
  49. const voprosElement = document.getElementById('question');
  50. const slovoElement = document.getElementById('word');
  51. const bukvaInput = document.getElementById('letter-input');
  52. const ugadatBtn = document.getElementById('guess-btn');
  53. const slovoInput = document.getElementById('word-input');
  54. const ugadatSlovoBtn = document.getElementById('guess-word-btn');
  55. const ochkiIgroka1Element = document.getElementById('player1-score');
  56. const ochkiIgroka2Element = document.getElementById('player2-score');
  57. const pobeditelContainer = document.getElementById('winner-container');
  58. const imyaPobeditelyaElement = document.getElementById('winner-name');
  59. const restartBtn = document.getElementById('restart-btn');
  60. const igraContainer = document.getElementById('game-container');
  61. const difficultySelect = document.getElementById('difficulty-select');
  62. const difficultyContainer = document.getElementById('difficulty-container');
  63. const startGameBtn = document.getElementById('start-game-btn');
  64. const currentPlayerElement = document.getElementById('current-player');
  65.  
  66. function poluchitSluchainyiVoprosIndex(voprosy) {
  67.     return Math.floor(Math.random() * voprosy.length);
  68. }
  69.  
  70. function nachatIgru() {
  71.     const difficulty = difficultySelect.value;
  72.     tekushiiUrovenVoprosov = difficulty === 'easy' ? legkieVoprosy : difficulty === 'medium' ? srednieVoprosy : slozhnyeVoprosy;
  73.  
  74.     tekushiiVoprosIndex = poluchitSluchainyiVoprosIndex(tekushiiUrovenVoprosov);
  75.     const tekushiiVopros = tekushiiUrovenVoprosov[tekushiiVoprosIndex];
  76.     voprosElement.textContent = tekushiiVopros.vopros;
  77.     otkrytoeSlovo = Array(tekushiiVopros.otvet.length).fill('_');
  78.     slovoElement.textContent = otkrytoeSlovo.join(' ');
  79.     bukvaInput.value = '';
  80.     slovoInput.value = '';
  81.     tekushiiIgrokk = 1;
  82.     obnovitTekushiyIgrok();
  83. }
  84.  
  85. function obnovitOchki() {
  86.     ochkiIgroka1Element.textContent = ochkiIgroka1;
  87.     ochkiIgroka2Element.textContent = ochkiIgroka2;
  88. }
  89.  
  90. function obnovitTekushiyIgrok() {
  91.     currentPlayerElement.textContent = `Игрок ${tekushiiIgrokk}`;
  92. }
  93.  
  94. function proveritBukvu(bukva, tekushiiOtvet) {
  95.     let ugadano = false;
  96.  
  97.     for (let i = 0; i < tekushiiOtvet.length; i++) {
  98.         if (tekushiiOtvet[i] === bukva && otkrytoeSlovo[i] === '_') {
  99.             otkrytoeSlovo[i] = bukva;
  100.             ugadano = true;
  101.         }
  102.     }
  103.  
  104.     if (ugadano) {
  105.         if (tekushiiIgrokk === 1) {
  106.             ochkiIgroka1++;
  107.         } else {
  108.             ochkiIgroka2++;
  109.         }
  110.     }
  111.  
  112.     return ugadano;
  113. }
  114.  
  115. function ugadatBukvu() {
  116.     const bukva = bukvaInput.value.toUpperCase();
  117.     bukvaInput.value = '';
  118.     const tekushiiVopros = tekushiiUrovenVoprosov[tekushiiVoprosIndex];
  119.     const tekushiiOtvet = tekushiiVopros.otvet;
  120.  
  121.     let ugadano = false;
  122.  
  123.     for (let i = 0; i < tekushiiOtvet.length; i++) {
  124.         if (tekushiiOtvet[i] === bukva && otkrytoeSlovo[i] === '_') {
  125.             otkrytoeSlovo[i] = bukva;
  126.             ugadano = true;
  127.         }
  128.     }
  129.  
  130.     if (ugadano) {
  131.         tekushiiIgrokk === 1 ? ochkiIgroka1++ : ochkiIgroka2++;
  132.     } else {
  133.         nepravIlNiePopytki++;
  134.         tekushiiIgrokk = tekushiiIgrokk === 1 ? 2 : 1;
  135.         obnovitTekushiyIgrok();
  136.     }
  137.  
  138.     slovoElement.textContent = otkrytoeSlovo.join(' ');
  139.  
  140.     if (!otkrytoeSlovo.includes('_')) {
  141.         zavershitIgru();
  142.     }
  143.  
  144.     obnovitOchki();
  145. }
  146.  
  147. function ugadatSlovo() {
  148.     const ugadannoeSlovo = slovoInput.value.toUpperCase();
  149.     slovoInput.value = '';
  150.     const tekushiiVopros = tekushiiUrovenVoprosov[tekushiiVoprosIndex];
  151.     const tekushiiOtvet = tekushiiVopros.otvet;
  152.  
  153.     if (ugadannoeSlovo === tekushiiOtvet) {
  154.         otkrytoeSlovo = tekushiiOtvet.split('');
  155.         slovoElement.textContent = otkrytoeSlovo.join(' ');
  156.         tekushiiIgrokk === 1 ? ochkiIgroka1 += otkrytoeSlovo.length : ochkiIgroka2 += otkrytoeSlovo.length;
  157.         zavershitIgru();
  158.     } else {
  159.         nepravIlNiePopytki++;
  160.         tekushiiIgrokk = tekushiiIgrokk === 1 ? 2 : 1;
  161.         obnovitTekushiyIgrok();
  162.     }
  163.  
  164.     obnovitOchki();
  165. }
  166.  
  167. function zavershitIgru() {
  168.     igraContainer.style.display = 'none';
  169.     const pobditel = ochkiIgroka1 > ochkiIgroka2 ? 'Игрок 1' : ochkiIgroka2 > ochkiIgroka1 ? 'Игрок 2' : 'Ничья';
  170.     imyaPobeditelyaElement.textContent = pobditel;
  171.     pobeditelContainer.style.display = 'block';
  172. }
  173.  
  174. function nachatNovuyuIgru() {
  175.     ochkiIgroka1 = 0;
  176.     ochkiIgroka2 = 0;
  177.     nepravIlNiePopytki = 0;
  178.     tekushiiIgrokk = 1;
  179.     obnovitOchki();
  180.     pobeditelContainer.style.display = 'none';
  181.     difficultyContainer.style.display = 'block';
  182.     igraContainer.style.display = 'none';
  183.     obnovitTekushiyIgrok();
  184. }
  185.  
  186. function startGame() {
  187.     difficultyContainer.style.display = 'none';
  188.     igraContainer.style.display = 'block';
  189.     nachatIgru();
  190. }
  191.  
  192. startGameBtn.addEventListener('click', startGame);
  193. ugadatBtn.addEventListener('click', ugadatBukvu);
  194. ugadatSlovoBtn.addEventListener('click', ugadatSlovo);
  195. restartBtn.addEventListener('click', nachatNovuyuIgru);
  196.  
  197. document.addEventListener('DOMContentLoaded', () => {
  198.     obnovitOchki();
  199.     obnovitTekushiyIgrok();
  200. });
  201.  
Advertisement
Add Comment
Please, Sign In to add comment