<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Перемешивание и печать списка вопросов с помощью HTML и JavaScript

Перемешивание и печать списка вопросов с помощью HTML и JavaScript

В современном мире веб-технологии играют важную роль в создании интерактивных и удобных инструментов для различных задач. Одной из таких задач является перемешивание и печать списка вопросов. Это может быть полезно для преподавателей, которые хотят создать случайные наборы вопросов для тестов или экзаменов, или для организаторов мероприятий, которые хотят перемешать вопросы для викторин и конкурсов.

В этой статье мы рассмотрим, как можно создать простое веб-приложение с использованием HTML и JavaScript, которое позволяет пользователям вводить список вопросов, перемешивать их и печатать результат. Мы пошагово разберем код, объясним его основные компоненты и функции, а также добавим комментарии для лучшего понимания.

HTML-структура

Начнем с HTML-структуры нашего приложения:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Перемешивание вопросов</title>
    <style>
        /* Стили для тела документа */
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        /* Стили для текстового поля */
        textarea {
            width: 100%;
            height: 150px;
            margin-bottom: 10px;
        }
        /* Стили для кнопок */
        button {
            margin-right: 10px;
        }
        /* Стили для списка вопросов */
        ul {
            list-style-type: none;
            padding: 0;
        }
        /* Стили для элементов списка */
        li {
            margin-bottom: 5px;
        }
    </style>
</head>
<body>
    <!-- Заголовок страницы -->
    <h1>Перемешивание вопросов</h1>
    <!-- Текстовое поле для ввода вопросов -->
    <textarea id="questionsInput" placeholder="Введите список вопросов, разделяя их новой строкой..."></textarea>
    <br>
    <!-- Кнопки для выполнения действий -->
    <button onclick="shuffleQuestions()">Перемешать</button>
    <button onclick="clearInput()">Очистить</button>
    <button onclick="printQuestions()">Печать</button>
    <!-- Заголовок для списка вопросов -->
    <h2>Список вопросов:</h2>
    <!-- Список для отображения вопросов -->
    <ul id="questionsList"></ul>

    <script>
        // Функция для перемешивания вопросов
        function shuffleQuestions() {
            // Получаем текст из текстового поля
            const questionsInput = document.getElementById('questionsInput').value;
            // Разбиваем текст на массив вопросов, удаляя пустые строки
            const questionsArray = questionsInput.split('\n').filter(question => question.trim() !== '');
            // Перемешиваем массив вопросов
            const shuffledArray = shuffleArray(questionsArray);
            // Отображаем перемешанные вопросы
            displayQuestions(shuffledArray);
        }

        // Функция для очистки текстового поля и списка вопросов
        function clearInput() {
            document.getElementById('questionsInput').value = '';
            document.getElementById('questionsList').innerHTML = '';
        }

        // Функция для печати списка вопросов
        function printQuestions() {
            // Получаем HTML-код списка вопросов
            const questionsList = document.getElementById('questionsList').innerHTML;
            // Создаем новое окно для печати
            const printWindow = window.open('', '', 'height=400,width=800');
            // Записываем HTML-код в новое окно
            printWindow.document.write('<html><head><title>Печать вопросов</title></head><body>');
            printWindow.document.write('<h1>Список вопросов:</h1>');
            printWindow.document.write('<ul>' + questionsList + '</ul>');
            printWindow.document.write('</body></html>');
            printWindow.document.close();
            // Вызываем печать нового окна
            printWindow.print();
        }

        // Функция для перемешивания массива
        function shuffleArray(array) {
            for (let i = array.length - 1; i > 0; i--) {
                const j = Math.floor(Math.random() * (i + 1));
                [array[i], array[j]] = [array[j], array[i]];
            }
            return array;
        }

        // Функция для отображения вопросов в списке
        function displayQuestions(questionsArray) {
            const questionsList = document.getElementById('questionsList');
            questionsList.innerHTML = '';
            questionsArray.forEach((question, index) => {
                const li = document.createElement('li');
                li.textContent = `${++index}. ${question}`;
                questionsList.appendChild(li);
            });
        }
    </script>
</body>
</html>

Объяснение кода

  1. HTML-структура:
  2. Заголовок страницы: Отображает название приложения.
  3. Текстовое поле: Позволяет пользователю вводить список вопросов, разделяя их новой строкой.
  4. Кнопки: Три кнопки для выполнения действий: перемешать вопросы, очистить текстовое поле и список, а также распечатать список вопросов.
  5. Список вопросов: Отображает перемешанные вопросы.

  6. CSS-стили:

  7. Определяют внешний вид текстового поля, кнопок и списка вопросов.

  8. JavaScript-функции:

  9. shuffleQuestions: Получает текст из текстового поля, разбивает его на массив вопросов, перемешивает массив и отображает перемешанные вопросы.
  10. clearInput: Очищает текстовое поле и список вопросов.
  11. printQuestions: Создает новое окно для печати, записывает в него HTML-код списка вопросов и вызывает печать этого окна.
  12. shuffleArray: Перемешивает массив вопросов.
  13. displayQuestions: Отображает вопросы в списке.

Заключение

Этот проект не только поможет вам освоить основы веб-разработки, но и предоставит готовое решение, которое можно использовать в повседневной работе или учебе. С помощью простого HTML и JavaScript вы можете создать интерактивное приложение для перемешивания и печати вопросов, которое будет полезно в различных сценариях.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.