Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подскажите пожалуйста проверка переменных correctAnswer и answer проходит в logic.js но переменные не юзаются

Miyuki Мудрец (12877), на голосовании 1 месяц назад
файл brain-even.js


 import readlineSync from 'readline-sync'; 
import { greeting } from '../src/cli.js';
import { logic } from '../src/logic.js';

const name = greeting();
let gameOver = false;
let win = false;
let correctCount = 0;

export const random = () => {
if (gameOver) {
return;
}
console.log('Answer "yes" if the number is even, otherwise answer "no".');
const randomNumber = Math.floor(Math.random() * 20) + 1;
console.log('Question: ' + randomNumber);
const correctAnswer = randomNumber % 2 === 0 ? 'yes' : 'no';
const answer = readlineSync.question('Your answer?: ');

}

for (let i = 0; i < 3; i += 1) {
random();
}

if (correctCount === 3) {
win = true;
}

if(win) {
console.log('Congratulations, ' + name + '!')
}

файл logic.js

 import { name } from '../bin/brain-even.js';

export const logic = () => {
if (answer.toLowerCase() === correctAnswer) {
console.log('Correct!');
correctCount += 1;
} else if (answer !== correctAnswer && answer != Number) {
console.log(answer + ' is wrong answer ;(. Correct answer was ' + correctAnswer + '.');
console.log('Let\'s try again, ' + name + '!');
gameOver = true;
} else {
win = true;
}
return { gameOver, win, correctCount }; // Возвращаем обновленные значения
}
Голосование за лучший ответ
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (240939) 2 месяца назад
Эти переменные изнутри random() не видны для logic(). Их надо передать.

 const correctAnswer = randomNumber % 2 === 0 ? 'yes' : 'no'; 
const answer = readlineSync.question('Your answer?: ');

// Вызываем функцию logic и передаем ей значения correctAnswer и answer
logic(correctAnswer, answer);
правим сигнатуру logic()
 import { name, gameOver, win, correctCount } from '../bin/brain-even.js'; 

export const logic = (correctAnswer, answer) => {
if (answer.toLowerCase() === correctAnswer) {
console.log('Correct!');
correctCount += 1;
} else if (answer !== correctAnswer && answer != Number) {
console.log(answer + ' is wrong answer ;(. Correct answer was ' + correctAnswer + '.');
console.log('Let\'s try again, ' + name + '!');
gameOver = true;
} else {
win = true;
}
return { gameOver, win, correctCount }; // Возвращаем обновленные значения
};
MiyukiМудрец (12877) 2 месяца назад
file: ///h ome/miyuki/ frontend-project-44/src/logic.js:1
import { name, gameOver, win, correctCount } from '../bin/brain-even.js';
^^^^^^^^^^^^
SyntaxError: The requested module '../bin/brain-even.js' does not provide an export named 'correctCount'
at ModuleJob._instantiate (node:internal/modules/esm/module_job:132:21)
at async Module Job.run (node:internal/modules/esm/module_job:214:5)
at async ModuleLoader.import (node:internal/modules/esm/loader:323:24)
at async loadESM (node:internal/process/esm_loader:28:7)
at async handleMainPromise (node:internal/modules/run_main:120:12)

Node.js v21.6.0
make: *** [Makefile:5: brain-even] Error 1
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (240939) Miyuki, не ну это же совершенно другое...
import { name, gameOver, win, correctCount } from '../bin/brain-even.js';
возможно это надо добавить: export { name, gameOver, win, correctCount }; Возможно путь поменять: import { logic } from './logic.js'; Оба файла дб в одной папке restart проекта
sUnset man Искусственный Интеллект (979065) 2 месяца назад
это сложно
MiyukiМудрец (12877) 2 месяца назад
ну так nahuya ты пишешь down
Овсяный Gold Гуру (2847) 1 месяц назад
Извини, не могу ответить.
Но тоже люблю аниме.
Слушай, как дакимакуру беспалевно купить?
MiyukiМудрец (12877) 1 месяц назад
никак
Похожие вопросы