-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
140 lines (131 loc) · 3.45 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
const readlineSync = require('readline-sync');
const chalk = require('chalk');
var score = 0;
const names = ['dummy1', 'dummy2', 'dummy3'];
const scores = [0, 0, 0];
const questions = [
{
question: 'What house at Hogwarts does Harry belong to ? \n',
options: ['Ravenclaw', 'Slytherin', 'Gryffindor', 'Hufflepuff'],
answer: 3,
},
{
question: 'What position does Harry play on his Quidditch team ? \n',
options: ['Keeper', 'Bludger', 'Chaser', 'Seeker'],
answer: 4,
},
{
question: 'How did Harry get the scar on his forehead ? \n',
options: [
"He crached the weasley's car into the whomping tree",
'He was attacked by a basilisk',
'In a quidditch accident',
'Voldermort tried to kill him when he was a baby',
],
answer: 4,
},
{
question: "What does the Sorcerer's Stone do ? \n",
options: [
'Transforms any metal into gold & produces the elixir of life',
'Makes the one that holds it invisible',
'Tells the one that holds it their future',
'Transforms the one who holds it into an animal',
],
answer: 1,
},
{
question: 'Who is Fluffy ? \n',
options: [
'A three headed dog',
"Haary's owl",
"Hagrid's dragon",
"Hermione's cat",
],
answer: 1,
},
{
question: 'What power do the dementors have over people ? \n',
options: [
'They drain them of all happiness',
'They make them od their bidding',
'They make them go crazy',
'They cause them to harm one another',
],
answer: 1,
},
{
question: 'What does the Imperius Curse do ? \n',
options: ['Tortures', 'Turns the person into a pig', 'Kills', 'Controls'],
answer: 4,
},
{
question: 'What is an Auror ? \n',
options: [
'A professional qudditch player',
'A wizard that can change his appearance at will',
'A career counselor at hogwarts',
'A person that catches dark wizards',
],
answer: 4,
},
{
question: 'Who kills Professor Dumbledore ? \n',
options: [
'Fenrir greyback',
'Severus snape',
'Bellatrix lestrange',
'Draco malfoy',
],
answer: 2,
},
{
question:
"Who poses as Mad-Eye Moody, Harry's 4th year Defense Against the Dark Arts professor ? \n",
options: [
'Peter pettigrew',
'Voldermort',
'Barty crouch, Jr',
'Sirius black',
],
answer: 3,
},
];
const name = chalk.blueBright(
readlineSync.question(
chalk.yellow('Please enter your name to start the quiz: \n')
)
);
console.log(
chalk.bold.magenta(`\t\tWelcome ${name} for harry potter quiz !\n`)
);
console.log(chalk.bold.bgGreenBright('\t\tQuiz starts'));
askQuestions(questions, name);
function askQuestions(questions, name) {
for (let currentQuestion of questions) {
let actualQuestion = chalk.greenBright(currentQuestion.question);
for (let i = 0; i < currentQuestion.options.length; i++) {
currentQuestion.options[i] = chalk.blueBright(currentQuestion.options[i]);
}
let userAnswer = readlineSync.keyInSelect(
currentQuestion.options,
actualQuestion
);
if (userAnswer + 1 === currentQuestion.answer) {
console.log(chalk.magentaBright('Correct answer !\n'));
score++;
} else console.log(chalk.red('Wrong answer !\n'));
}
console.log('Quiz player details');
console.log(`Name: ${name}`);
console.log(`Score: ${score}`);
for (let i = 0; i < scores.length; i++) {
if (score > scores[i]) {
scores[i] = score;
names[i] = name;
console.log(`You have broken the record and you are number ${i + 1}`);
console.log('Do send me the screenshot and i will update your score !');
break;
}
}
}