@@ -22,33 +22,39 @@ const successAnswerPhrases = [
22
22
"Victory!\n\u{1F638}"
23
23
] ;
24
24
25
- //Заменить методы window на что-нибудь из bootstrap (20 баллов)
26
- let minValue = parseInt ( prompt ( 'Минимальное знание числа для игры' , '0' ) ) ;
27
- let maxValue = parseInt ( prompt ( 'Максимальное знание числа для игры' , '100' ) ) ;
28
- alert ( `Загадайте любое целое число от ${ minValue } до ${ maxValue } , а я его угадаю` ) ;
25
+ //UI links
26
+ const orderNumberField = document . querySelector ( '#orderNumberField' ) ;
27
+ const answerField = document . querySelector ( '#answerField' ) ;
29
28
30
- //Валидация введенных значений (через дизъюнкции) (10 баллов)
29
+ //vars
30
+ let minValue , maxValue , answerNumber , orderNumber ;
31
+ let gameRun ;
31
32
32
- //Ограничение по минимому и максимому для введенных значений (через тернарный оператор) (10 баллов)
33
- // мин = -999 макс = 999
33
+ function Start ( )
34
+ {
35
+ //Заменить методы window на что-нибудь из bootstrap (20 баллов)
36
+ minValue = parseInt ( prompt ( 'Минимальное знание числа для игры' , '0' ) ) ;
37
+ maxValue = parseInt ( prompt ( 'Максимальное знание числа для игры' , '100' ) ) ;
38
+ alert ( `Загадайте любое целое число от ${ minValue } до ${ maxValue } , а я его угадаю` ) ;
34
39
35
- let answerNumber = Math . floor ( ( minValue + maxValue ) / 2 ) ;
36
- let orderNumber = 1 ;
37
- let gameRun = true ;
40
+ //Валидация введенных значений (через дизъюнкции) (10 баллов)
41
+
42
+ //Ограничение по минимому и максимому для введенных значений (через тернарный оператор) (10 баллов)
43
+ // мин = -999 макс = 999
38
44
39
- const orderNumberField = document . querySelector ( '#orderNumberField' ) ;
40
- const answerField = document . querySelector ( '#answerField' ) ;
45
+ answerNumber = Math . floor ( ( minValue + maxValue ) / 2 ) ;
46
+ orderNumber = 1 ;
47
+ gameRun = true ;
48
+
49
+ orderNumberField . innerText = orderNumber ++ ;
50
+ answerField . innerText = `${ nextAnswerPhrases [ 0 ] } ${ answerNumber } ?` ;
51
+ }
41
52
42
- orderNumberField . innerText = orderNumber ;
43
- answerField . innerText = `${ nextAnswerPhrases [ 0 ] } ${ answerNumber } ?` ;
53
+ Start ( ) ;
44
54
45
55
// Рестарт программы
46
56
document . querySelector ( '#btnRetry' ) . addEventListener ( 'click' , function ( ) {
47
- //Переписать все
48
- minValue = 0 ;
49
- maxValue = 100 ;
50
- orderNumber = 0 ;
51
- gameRun = true ;
57
+ Start ( ) ;
52
58
} )
53
59
54
60
// Кнопка больше
@@ -68,22 +74,38 @@ document.querySelector('#btnOver').addEventListener('click', function () {
68
74
answerField . innerText = answerPhrase ;
69
75
gameRun = false ;
70
76
} else { //Продолжить поиск выше
71
- minValue = answerNumber + 1 ;
72
- answerNumber = Math . floor ( ( minValue + maxValue ) / 2 ) ;
73
- orderNumber ++ ;
77
+ minValue = answerNumber + 1 ;
78
+ answerNumber = Math . floor ( ( minValue + maxValue ) / 2 ) ;
79
+ orderNumberField . innerText = orderNumber ++ ;
74
80
75
81
//Вывод числа в прописью, если строка получается менее 20 символов (15 баллов)
76
82
77
- orderNumberField . innerText = orderNumber ;
78
-
79
83
const phraseRandom = Math . round ( Math . random ( ) * ( nextAnswerPhrases . length - 1 ) ) ;
80
84
answerField . innerText = `${ nextAnswerPhrases [ phraseRandom ] } ${ answerNumber } ?` ;
81
85
}
82
86
}
83
87
} )
84
88
85
89
// Кнопка меньше
86
- // Написать функционал
90
+ document . querySelector ( '#btnLess' ) . addEventListener ( 'click' , function ( ) {
91
+ if ( gameRun ) {
92
+ if ( minValue === maxValue ) { // Игрок сжулничал и давал не правильные ответы
93
+ const phraseRandom = Math . round ( Math . random ( ) * ( failAnswerPhrases . length - 1 ) ) ;
94
+ const answerPhrase = failAnswerPhrases [ phraseRandom ] ;
95
+ answerField . innerText = answerPhrase ;
96
+ gameRun = false ;
97
+ } else { //Продолжить поиск ниже
98
+ maxValue = answerNumber - 1 ;
99
+ answerNumber = Math . floor ( ( minValue + maxValue ) / 2 ) ;
100
+ orderNumberField . innerText = orderNumber ++ ;
101
+
102
+ //Вывод числа в прописью, если строка получается менее 20 символов (15 баллов)
103
+
104
+ const phraseRandom = Math . round ( Math . random ( ) * ( nextAnswerPhrases . length - 1 ) ) ;
105
+ answerField . innerText = `${ nextAnswerPhrases [ phraseRandom ] } ${ answerNumber } ?` ;
106
+ }
107
+ }
108
+ } )
87
109
88
110
// Кнопка Верно!
89
111
document . querySelector ( '#btnEqual' ) . addEventListener ( 'click' , function ( ) {
0 commit comments