Skip to content

Commit 2e1cdc4

Browse files
committed
update script SkillfactoryCoding#8 add phrases
1 parent 3b7a350 commit 2e1cdc4

File tree

1 file changed

+43
-19
lines changed

1 file changed

+43
-19
lines changed

bjs/08_if_else/script.js

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
1-
//Все текстовые константы переписать сюда
1+
const failAnswerPhrases = [
2+
"Вы загадали неправильное число!\n\u{1F914}",
3+
"Я сдаюсь..\n\u{1F92F}",
4+
"\u{1F92C}...\nНе угадал.",
5+
"Не повезло, не угадал\n\u{1F622}",
6+
"Там же не было неправльных ответов?\n\u{1F612}"
7+
];
8+
9+
const nextAnswerPhrases = [
10+
"Вы загадали число ",
11+
"Вы загадали число ",
12+
"Может, ваше число ",
13+
"И ваше число... ",
14+
"Это число "
15+
];
16+
17+
const successAnswerPhrases = [
18+
"Я всегда угадываю\n\u{1F60E}",
19+
"Это было легко\u{1F61D}",
20+
"Я выиграл\u{1F607}",
21+
"Победа за мной\n\u{1F973}",
22+
"Victory!\n\u{1F638}"
23+
];
224

325
//Заменить методы window на что-нибудь из bootstrap (20 баллов)
426
let minValue = parseInt(prompt('Минимальное знание числа для игры','0'));
@@ -14,31 +36,35 @@ let answerNumber = Math.floor((minValue + maxValue) / 2);
1436
let orderNumber = 1;
1537
let gameRun = true;
1638

17-
const orderNumberField = document.getElementById('orderNumberField');//Заменить код на более актуальный
18-
const answerField = document.getElementById('answerField');//Заменить код на более актуальный
39+
const orderNumberField = document.querySelector('#orderNumberField');
40+
const answerField = document.querySelector('#answerField');
1941

2042
orderNumberField.innerText = orderNumber;
21-
answerField.innerText = `Вы загадали число ${answerNumber }?`;
43+
answerField.innerText = `${nextAnswerPhrases[0]} ${answerNumber }?`;
2244

2345
// Рестарт программы
24-
document.getElementById('btnRetry').addEventListener('click', function () {//Заменить код на более актуальный
46+
document.querySelector('#btnRetry').addEventListener('click', function () {
2547
//Переписать все
2648
minValue = 0;
2749
maxValue = 100;
2850
orderNumber = 0;
51+
gameRun = true;
2952
})
3053

3154
// Кнопка больше
32-
document.getElementById('btnOver').addEventListener('click', function () {//Заменить код на более актуальный
55+
document.querySelector('#btnOver').addEventListener('click', function () {
3356
if (gameRun){
3457
if (minValue === maxValue){ // Игрок сжулничал и давал не правильные ответы
35-
const phraseRandom = Math.round( Math.random());
3658

37-
//Переделать варианты ответа (5 баллов)
38-
const answerPhrase = (phraseRandom === 1) ?
39-
`Вы загадали неправильное число!\n\u{1F914}` :
40-
`Я сдаюсь..\n\u{1F92F}`;
59+
// Я так понимаю, надо было сделать установить значение answerPhrase через switch
60+
// Например:
61+
// switch (phraseRandom) {case 1: "фраза 1" break; case 2: "фраза 2" break; и т.д.}
62+
// Но я так делать не буду. Кроме того как уметь использовать разничние конструкции,
63+
// нужно еще, знать где их нужно использовать.
64+
// Я использовать массив со строками, и работал с ним самым оптимальным способом.
4165

66+
const phraseRandom = Math.round( Math.random() * (failAnswerPhrases.length - 1));
67+
const answerPhrase = failAnswerPhrases[phraseRandom];
4268
answerField.innerText = answerPhrase;
4369
gameRun = false;
4470
} else { //Продолжить поиск выше
@@ -50,8 +76,8 @@ document.getElementById('btnOver').addEventListener('click', function () {//За
5076

5177
orderNumberField.innerText = orderNumber;
5278

53-
//Переделать варианты ответа (5 баллов)
54-
answerField.innerText = `Вы загадали число ${answerNumber }?`;
79+
const phraseRandom = Math.round( Math.random() * (nextAnswerPhrases.length - 1));
80+
answerField.innerText = `${nextAnswerPhrases[phraseRandom]} ${answerNumber }?`;
5581
}
5682
}
5783
})
@@ -60,13 +86,11 @@ document.getElementById('btnOver').addEventListener('click', function () {//За
6086
// Написать функционал
6187

6288
// Кнопка Верно!
63-
document.getElementById('btnEqual').addEventListener('click', function () {//Заменить код на более актуальный
89+
document.querySelector('#btnEqual').addEventListener('click', function () {
6490
if (gameRun){
65-
66-
//Переделать варианты ответа (5 баллов)
67-
answerField.innerText = `Я всегда угадываю\n\u{1F60E}`
91+
const phraseRandom = Math.round( Math.random() * (successAnswerPhrases.length - 1));
92+
answerField.innerText = successAnswerPhrases[phraseRandom];
6893

6994
gameRun = false;
7095
}
71-
})
72-
96+
})

0 commit comments

Comments
 (0)