Эта статья для тех кто озадачился вопросом программирования и изучил вводный урок, который предложен в статье Что такое Node.js: с чего начать, в которой описано не только что такое Node.js, как используется, но и рассказывается чт нужно скачать и установить прежде чем начать изучать и пробовать программирование. Кроме того, в статье поэтапно рассказывается создание первой простейшей программы. А теперь давай перейдем к практическим проектам, которые помогут тебе развить навыки программирования на Node.js. Вот несколько идей, которые подходят для начинающих:
- Калькулятор с операциями с простыми операциями (+, -, *, /)
- Конвертер валют который позволяет пользователю конвертировать одну валюту в другую с использованием фиксированного курса
- Список дел (To-Do List) которая позволяет пользователю добавлять, просматривать и удалять задачи из списка дел.
- Игра «Угадай число» в которой компьютер загадывает число, а пользователь должен его угадать.
Начнем с интересного, с содания игры, остальное мы тоже попробуем сделать, но позже. Если в списке выше уже добавлены ссылки, то начните с того, что вам наиболее по душе: калькулятор, список дел или конвектор валют.
Создание нового проекта
- Создай новую папку для проекта, например,
guess-number-game. - Открой эту папку в VS Code.
- Открой терминал в 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
Следуй инструкциям на экране и постарайся угадать число!




