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

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

Miyuki Мудрец (13167), закрыт 2 месяца назад
файл 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̲ Искусственный Интеллект (269264) 12 месяцев назад
Эти переменные изнутри 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Мудрец (13167) 12 месяцев назад
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̲ Искусственный Интеллект (269264) Miyuki, не ну это же совершенно другое...
import { name, gameOver, win, correctCount } from '../bin/brain-even.js';
возможно это надо добавить: export { name, gameOver, win, correctCount }; Возможно путь поменять: import { logic } from './logic.js'; Оба файла дб в одной папке restart проекта
Остальные ответы
sUnset man Искусственный Интеллект (1083670) 12 месяцев назад
это сложно
MiyukiМудрец (13167) 12 месяцев назад
ну так nahuya ты пишешь down
Овсяный Gold Гуру (3628) 11 месяцев назад
Извини, не могу ответить.
Но тоже люблю аниме.
Слушай, как дакимакуру беспалевно купить?
MiyukiМудрец (13167) 10 месяцев назад
никак
Похожие вопросы