Как Node.js создать свою первую игру: Угадай число — практика

Эта статья для тех кто озадачился вопросом программирования и изучил вводный урок, который предложен в статье Что такое Node.js: с чего начать, в которой описано не только что такое Node.js, как используется, но и рассказывается чт нужно скачать и установить прежде чем начать изучать и пробовать программирование. Кроме того, в статье поэтапно рассказывается создание первой простейшей программы. А теперь давай перейдем к практическим проектам, которые помогут тебе развить навыки программирования на Node.js. Вот несколько идей, которые подходят для начинающих:

  • Калькулятор с операциями с простыми операциями (+, -, *, /)
  • Конвертер валют который позволяет пользователю конвертировать одну валюту в другую с использованием фиксированного курса
  • Список дел (To-Do List) которая позволяет пользователю добавлять, просматривать и удалять задачи из списка дел.
  • Игра «Угадай число»  в которой компьютер загадывает число, а пользователь должен его угадать.

Начнем с интересного, с содания игры, остальное мы тоже попробуем сделать, но позже. Если в списке выше уже добавлены ссылки, то начните с того, что вам наиболее по душе: калькулятор, список дел или конвектор валют.

Создание нового проекта

  1. Создай новую папку для проекта, например, guess-number-game.
  2. Открой эту папку в VS Code.
  3. Открой терминал в VS Code (можно использовать сочетание клавиш Ctrl + ` ) и инициализируй новый проект:
    Копировать
    npm init -y

    Эта команда создаст файл package.json, который будет содержать информацию о твоем проекте.

Установка необходимых пакетов

Для нашей игры нам понадобится пакет readline-sync, который позволит нам считывать ввод пользователя из консоли. Установи его с помощью команды:

Копировать
npm install readline-sync

Создание основного файла игры

Создай файл с именем game.js в корне проекта. Это будет основной файл нашей игры.

Пример кода игры

Теперь давай напишем код. Открой файл game.js и добавь следующий код:

Копировать

// Импортируем пакет readline-sync для ввода данных
const readline = require('readline-sync');

// Функция для генерации случайного числа в заданном диапазоне
function getRandomNumber(min, max) {
return Math.floor(Math.random() * (max — min + 1)) + min;
}

// Основная функция игры
function playGame() {
const min = 1; // Минимальное значение диапазона
const max = 100; // Максимальное значение диапазона
const secretNumber = getRandomNumber(min, max); // Загаданное число
let attempts = 0; // Счетчик попыток
let guessed = false; // Флаг для проверки, угадано ли число

console.log(`Я загадал число от ${min} до ${max}. Попробуй угадать его!`);

// Цикл, пока пользователь не угадает число
while (!guessed) {
const userGuess = readline.questionInt(‘Введите ваше предположение: ‘); // Считываем ввод пользователя
attempts++; // Увеличиваем счетчик попыток

if (userGuess < secretNumber) { console.log(‘Слишком мало! Попробуй еще раз.’); } else if (userGuess > secretNumber) {
console.log(‘Слишком много! Попробуй еще раз.’);
} else {
console.log(`Поздравляю! Ты угадал число ${secretNumber} за ${attempts} попыток.`);
guessed = true; // Устанавливаем флаг в true, чтобы выйти из цикла
}
}
}

// Запускаем игру
playGame();

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

  • Импортирование модуля: Мы используем require('readline-sync'), чтобы получить доступ к функции для чтения ввода пользователя.
  • Функция getRandomNumber: Эта функция генерирует случайное число в заданном диапазоне. Мы используем Math.random() для генерации случайного числа и Math.floor() для округления.
  • Основная функция playGame: Здесь происходит основная логика игры:
    • Мы задаем минимальное и максимальное значение.
    • Генерируем загаданное число.
    • Используем цикл while, чтобы продолжать запрашивать у пользователя ввод, пока он не угадает число.
    • В зависимости от ввода пользователя выводим подсказки.

Запуск игры

Теперь, когда код написан, запусти игру в терминале:

Копировать
node game.js

Следуй инструкциям на экране и постарайся угадать число!

Написание кода игры по шагам с объяснениями, читай-поторяй

Читайте также:  Какие существуют аналоги плагина JSHint для проверки качества кода
Понравилась статья? Поделиться с друзьями:
Мой компьютерный блог