@@ -22,33 +22,39 @@ const successAnswerPhrases = [
2222 "Victory!\n\u{1F638}"
2323] ;
2424
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' ) ;
2928
30- //Валидация введенных значений (через дизъюнкции) (10 баллов)
29+ //vars
30+ let minValue , maxValue , answerNumber , orderNumber ;
31+ let gameRun ;
3132
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 } , а я его угадаю` ) ;
3439
35- let answerNumber = Math . floor ( ( minValue + maxValue ) / 2 ) ;
36- let orderNumber = 1 ;
37- let gameRun = true ;
40+ //Валидация введенных значений (через дизъюнкции) (10 баллов)
41+
42+ //Ограничение по минимому и максимому для введенных значений (через тернарный оператор) (10 баллов)
43+ // мин = -999 макс = 999
3844
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+ }
4152
42- orderNumberField . innerText = orderNumber ;
43- answerField . innerText = `${ nextAnswerPhrases [ 0 ] } ${ answerNumber } ?` ;
53+ Start ( ) ;
4454
4555// Рестарт программы
4656document . querySelector ( '#btnRetry' ) . addEventListener ( 'click' , function ( ) {
47- //Переписать все
48- minValue = 0 ;
49- maxValue = 100 ;
50- orderNumber = 0 ;
51- gameRun = true ;
57+ Start ( ) ;
5258} )
5359
5460// Кнопка больше
@@ -68,22 +74,38 @@ document.querySelector('#btnOver').addEventListener('click', function () {
6874 answerField . innerText = answerPhrase ;
6975 gameRun = false ;
7076 } 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 ++ ;
7480
7581 //Вывод числа в прописью, если строка получается менее 20 символов (15 баллов)
7682
77- orderNumberField . innerText = orderNumber ;
78-
7983 const phraseRandom = Math . round ( Math . random ( ) * ( nextAnswerPhrases . length - 1 ) ) ;
8084 answerField . innerText = `${ nextAnswerPhrases [ phraseRandom ] } ${ answerNumber } ?` ;
8185 }
8286 }
8387} )
8488
8589// Кнопка меньше
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+ } )
87109
88110// Кнопка Верно!
89111document . querySelector ( '#btnEqual' ) . addEventListener ( 'click' , function ( ) {
0 commit comments