-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
82 lines (66 loc) · 1.83 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
71
72
73
74
75
76
77
78
79
80
81
82
#!/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 welcome() {
const rainbowTitle = chalkAnimation.rainbow('Who wants to be a JavaScript Millionaire?')
await sleep()
rainbowTitle.stop()
console.log(`
${chalk.bgBlue('HOW TO PLAY')}
I am a process on your computer.
If you get any questions wrong I will be ${chalk.bgRed('killed')}
So get all the questions right...
`)
}
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 days and released on\n',
choices: [
'May 23rd, 1995',
'Nov 24th, 1995',
'Dec 4th, 1995',
'Dec 17th, 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}. That's a legit answer`})
} else {
spinner.error({ text: `Game over, you lose ${playerName}!`})
process.exit(1)
}
}
function winner() {
console.clear()
const msg = `Congrats , ${playerName} !\n $ 1 , 0 0 0 , 0 0 0`
figlet(msg, (err, data) => {
console.log(gradient.pastel.multiline(data))
})
}
await welcome()
await askName();
await question1();
await winner();