Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.03.2025, 17:49   #1
tommyk-
Новичок
Джуниор
 
Регистрация: 05.03.2025
Сообщений: 1
По умолчанию ПОМОГИТЕ СРОЧНО!!!

Короче нашел код для веб-игры на html и там еще js (вроде как) ,код очень большой. Может кто то помочь сократить его или сделать его намного проще
Код:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Виселица</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
      body {
        font-family: Arial, sans-serif;
        margin: 20px;
      }
      input, select, button {
        margin: 10px 0;
        padding: 5px;
        font-size: 16px;
      }
      button:disabled {
        opacity: 0.5;
        cursor: not-allowed;
      }
      .active {
        background-color: #4CAF50;
        color: white;
      }
      .screen {
        display: none;
      }
      .visible {
        display: block;
      }
      #gallows {
        width: 300px;
        height: 300px;
        border: 1px solid black;
        margin-bottom: 20px;
        position: relative;
      }
      .correct {
        color: green;
      }
      .incorrect {
        color: red;
      }
    </style>
  </head>
  <body>
    <div id="start-screen" class="screen visible">
      <h2>Введите имя и выберите категорию</h2>
      <input type="text" id="username" placeholder="Введите имя">
      <select id="category">
        <option value="animals">Животные</option>
        <option value="fruits">Фрукты</option>
        <option value="countries">Страны</option>
      </select>
      <button id="start-btn" disabled>Начать игру</button>
    </div>

    <!-- Экран игры -->
    <div id="game-screen" class="screen">
      <div id="gallows">
        <p>Начальное состояние виселицы</p>
      </div>
      <div id="guessedLetters">
        Предложенные буквы
      </div>
      <div id="wordDisplay">
      </div>
    </div>

    <!-- Экран результатов -->
    <div id="result-screen" class="screen">
      <h2 id="resultMessage"></h2>
      <div id="resultWord">
      </div>
      <div id="resultAttempts">
      </div>
      <div id="resultUsedLetters">
      </div>
      <button id="restart-btn">Играть снова</button>
    </div>

    <script>
      var words = {
        animals: ['слон', 'тигр', 'кошка'],
        fruits: ['яблоко', 'банан', 'киви'],
        countries: ['россия', 'франция', 'китай']
      };

      var selectedWord = "";
      var displayedWord = [];
      var usedLetters = [];
      var wrongAttempts = 0;
      var maxAttempts = 6;
      var playerName = "";

      function showScreen(screenId) {
        $(".screen").removeClass("visible");
        $("#" + screenId).addClass("visible");
      }

      // Сброс параметров игры
      function resetGame() {
        selectedWord = "";
        displayedWord = [];
        usedLetters = [];
        wrongAttempts = 0;
        $("#wordDisplay").empty();
        $("#guessedLetters").text("Предложенные буквы");
        $("#gallows").empty().append("<p>Начальное состояние виселицы</p>");
        $(document).off("keydown.game");
      }

      // Начало игры
      function startGame() {
        playerName = $("#username").val().trim();
        var category = $("#category").val();
        var wordArray = words[category];
        selectedWord = wordArray[Math.floor(Math.random() * wordArray.length)];
        displayedWord = Array(selectedWord.length).fill("_");
        $("#wordDisplay").text(displayedWord.join(" "));

        usedLetters = [];
        wrongAttempts = 0;
        $("#guessedLetters").text("Предложенные буквы");
        $("#gallows").empty().append("<p>Начальное состояние виселицы</p>");

        showScreen("game-screen");

        $(document).on("keydown.game", function(event) {
          var letter = event.key.toLowerCase();
          if (!/^[a-zа-яё]$/.test(letter)) return;
          if (usedLetters.includes(letter)) {
            alert("Эта буква уже была предложена!");
            return;
          }
          usedLetters.push(letter);
          $("#guessedLetters").text("Предложенные буквы: " + usedLetters.join(", "));

          if (selectedWord.includes(letter)) {
            for (var i = 0; i < selectedWord.length; i++) {

              if (selectedWord[i] === letter) {
                displayedWord[i] = letter;
              }
            }
            $("#wordDisplay").text(displayedWord.join(" "));
          } else {
            wrongAttempts++;
            $("#gallows").append("<p>Ошибка " + wrongAttempts + " из " + maxAttempts + "</p>");
          }

          if (!displayedWord.includes("_")) {
            endGame(true);
          } else if (wrongAttempts >= maxAttempts) {
            endGame(false);
          }
        });
      }

      // Завершение игры
      function endGame(isWin) {
        $(document).off("keydown.game");
        showScreen("result-screen");
        if (isWin) {
          $("#resultMessage").text(playerName + " победил!");
        } else {
          $("#resultMessage").text(playerName + " потерпел поражение!");
        }
        var resultDisplay = "";
        for (var i = 0; i < selectedWord.length; i++) {
          if (displayedWord[i] !== "_") {
            resultDisplay += '<span class="correct">' + selectedWord[i] + '</span> ';
          } else {
            resultDisplay += '<span class="incorrect">' + selectedWord[i] + '</span> ';
          }
        }
        $("#resultWord").html(resultDisplay);
        $("#resultAttempts").text("Количество ошибок: " + wrongAttempts);
        $("#resultUsedLetters").text("Предложенные буквы: " + usedLetters.join(", "));
      }

      // Валидация ввода имени
      $("#username").on("input", function() {
        var name = $(this).val().trim();
        if (name !== "") {
          $("#start-btn").prop("disabled", false).addClass("active");
        } else {
          $("#start-btn").prop("disabled", true).removeClass("active");
        }
      });

      // Начало игры по клику кнопки
      $("#start-btn").click(function() {
        startGame();
      });
      
    </script>
  </body>
</html>
tommyk- вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод нужен срочно помогите ) в течение 2 часов от Паскаля на Турбо СИ нужно помогите Жанибек Помощь студентам 14 01.04.2015 17:23
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Парни помогите!!срочно нужно решить в течении пару часов..завтра зачет!Парни помогите! razorl1ner Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 00:02