-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
70 lines (68 loc) · 1.92 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env node
import chalk from 'chalk';
import inquirer from 'inquirer';
import gradient from 'gradient-string';
import chalkAnimation from 'chalk-animation';
import figlet from 'figlet';
import { createSpinner } from 'nanospinner';
let playerName;
const sleep = (ms = 2000) => new Promise((r) => setTimeout(r,ms));
async function askName(){
const answers = await inquirer.prompt({
name:'Player_Name',
type:'input',
message:'What is your name?',
default() {
return 'Player';
},
});
playerName = answers.Player_Name;
}
async function question1(){
const answers = await inquirer.prompt({
name:'question_1',
type:'list',
message:'JavaScript was created in 10 then released on \n',
choices:[
'May 23rd, 1995',
'Nov 24th, 1995',
'Dec 4th, 1995',
'Dec 17, 1996',
],
})
return handleAnswer(answers.question_1 == 'Dec 4th, 1995');
}
async function handleAnswer(isCorrect){
const spinner = createSpinner('Checking answer...').start();
await sleep();
if(isCorrect){
spinner.success({text:`Nice work ${playerName}. Thats legit answer`})
}else{
spinner.error({
text:`💀💀💀 Game over, You lose ${playerName}`
});
process.exit(1);
}
}
function winner(){
console.clear();
const msg = `Congrats, ${playerName} !\n $1,000,000 Winner`;
figlet(msg,(err,data)=>{
console.log(gradient.pastel.multiline(data));
});
}
async function welcome(){
const rainbowTitle = chalkAnimation.rainbow(
"Welcome to the cli Quiz\n"
);
await sleep();
rainbowTitle.stop();
console.log(`${chalk.magentaBright('Start Game')}
I am a process on your computer
if you get any question wrong I will be ${chalk.bgRed('Killed')}
so Get ready for question...`);
}
await welcome();
await askName();
await question1();
winner();