1414 maxValue = 999 :
1515 maxValue ;
1616
17-
1817
1918
2019alert ( `Загадайте любое целое число от ${ minValue } до ${ maxValue } , а я его угадаю` ) ;
@@ -27,7 +26,12 @@ const answerField = document.getElementById('answerField');
2726
2827orderNumberField . innerText = orderNumber ;
2928
30- answerField . innerText = `Вы загадали число ${ answerNumber } ?` ;
29+ // answerField.innerText = `Вы загадали число ${replace} ?`;
30+ ( answerNumber >= 0 ) ?
31+ answerField . innerText = 'Вы загадали число ' + numToWords ( answerNumber ) + ' ?'
32+ :
33+ answerField . innerText = 'Вы загадали число ' + minNumToWords ( answerNumber ) + ' ?' ;
34+
3135
3236
3337document . getElementById ( 'btnRetry' ) . addEventListener ( 'click' , function ( ) {
@@ -53,7 +57,7 @@ document.getElementById('btnRetry').addEventListener('click', function () {
5357 gameRun = true ;
5458
5559 orderNumberField . innerText = orderNumber ;
56- answerField . innerText = ` Вы загадали число ${ answerNumber } ?` ;
60+ answerField . innerText = ' Вы загадали число ' + numToWords ( answerNumber ) + ' ?' ;
5761 }
5862
5963 } )
@@ -76,15 +80,28 @@ document.getElementById('btnOver').addEventListener('click', function () {
7680 orderNumberField . innerText = orderNumber ;
7781 const overPhraseRandom = Math . round ( Math . random ( ) * 4 ) ;
7882 const overAnswerPhrase = ( overPhraseRandom === 1 ) ?
79- `Вы загадали число ${ answerNumber } ?` : ( overPhraseRandom === 2 ) ?
80- `Я почти у верен, вы загадали число ${ answerNumber } ?` : ( overPhraseRandom === 3 ) ?
81- `Ну и число вы загадали, это ${ answerNumber } ?` :
82- `Так я могу и проиграть, это число ${ answerNumber } ?` ;
83+ ( answerNumber >= 0 ) ?
84+ answerField . innerText = 'Вы загадали число ' + numToWords ( answerNumber ) + ' ?'
85+ :
86+ answerField . innerText = 'Вы загадали число ' + minNumToWords ( answerNumber ) + ' ?' : ( overPhraseRandom === 2 ) ?
87+ ( answerNumber >= 0 ) ?
88+ answerField . innerText = 'Я почти у верен, вы загадали число ' + numToWords ( answerNumber ) + ' ?'
89+ :
90+ answerField . innerText = 'Я почти у верен, вы загадали число ' + minNumToWords ( answerNumber ) + ' ?' : ( overPhraseRandom === 3 ) ?
91+ ( answerNumber >= 0 ) ?
92+ answerField . innerText = 'Ну и число вы загадали, это ' + numToWords ( answerNumber ) + ' ?'
93+ :
94+ answerField . innerText = 'Ну и число вы загадали, это ' + minNumToWords ( answerNumber ) + ' ?' :
95+ ( answerNumber >= 0 ) ?
96+ answerField . innerText = 'Так я могу и проиграть, это число ' + numToWords ( answerNumber ) + ' ?'
97+ :
98+ answerField . innerText = 'Так я могу и проиграть, это число ' + minNumToWords ( answerNumber ) + ' ?' ;
8399 answerField . innerText = overAnswerPhrase ;
84100 }
85101 }
86102} )
87103
104+
88105document . getElementById ( 'btnLess' ) . addEventListener ( 'click' , function ( ) {
89106 if ( gameRun ) {
90107 if ( minValue + 1 === maxValue ) {
@@ -102,15 +119,28 @@ document.getElementById('btnLess').addEventListener('click', function () {
102119 orderNumberField . innerText = orderNumber ;
103120 const lessPhraseRandom = Math . round ( Math . random ( ) * 4 ) ;
104121 const lessAnswerPhrase = ( lessPhraseRandom === 1 ) ?
105- `Вы загадали число ${ answerNumber } ?` : ( lessPhraseRandom === 2 ) ?
106- `Я почти у верен, вы загадали число ${ answerNumber } ?` : ( lessPhraseRandom === 3 ) ?
107- `Ну и число вы загадали, это ${ answerNumber } ?` :
108- `Так я могу и проиграть, это число ${ answerNumber } ?` ;
122+ ( answerNumber >= 0 ) ?
123+ answerField . innerText = 'Вы загадали число ' + numToWords ( answerNumber ) + ' ?'
124+ :
125+ answerField . innerText = 'Вы загадали число ' + minNumToWords ( answerNumber ) + ' ?' : ( lessPhraseRandom === 2 ) ?
126+ ( answerNumber >= 0 ) ?
127+ answerField . innerText = 'Я почти у верен, вы загадали число ' + numToWords ( answerNumber ) + ' ?'
128+ :
129+ answerField . innerText = 'Я почти у верен, вы загадали число ' + minNumToWords ( answerNumber ) + ' ?' : ( lessPhraseRandom === 3 ) ?
130+ ( answerNumber >= 0 ) ?
131+ answerField . innerText = 'Ну и число вы загадали, это ' + numToWords ( answerNumber ) + ' ?'
132+ :
133+ answerField . innerText = 'Ну и число вы загадали, это ' + minNumToWords ( answerNumber ) + ' ?' :
134+ ( answerNumber >= 0 ) ?
135+ answerField . innerText = 'Так я могу и проиграть, это число ' + numToWords ( answerNumber ) + ' ?'
136+ :
137+ answerField . innerText = 'Так я могу и проиграть, это число ' + minNumToWords ( answerNumber ) + ' ?' ;
109138 answerField . innerText = lessAnswerPhrase ;
110139 }
111140 }
112141} )
113142
143+
114144document . getElementById ( 'btnEqual' ) . addEventListener ( 'click' , function ( ) {
115145 if ( gameRun ) {
116146 const equalPhraseRandom = Math . round ( Math . random ( ) * 3 ) ;
@@ -122,4 +152,257 @@ document.getElementById('btnEqual').addEventListener('click', function () {
122152 answerField . innerText = equalAnswerPhrase ;
123153 gameRun = false ;
124154 }
125- } )
155+ } )
156+
157+ // let replace = numToWords(answerNumber);
158+ function minNumToWords ( n2 ) {
159+ let n3 = - 1 * n2 ;
160+ return 'минус ' + numToWords ( n3 ) ;
161+ }
162+
163+ function numToWords ( n ) {
164+ let a = n % 10 ;
165+ let b = Math . floor ( n % 100 / 10 ) ;
166+ let c = Math . floor ( n % 1000 / 100 ) ;
167+
168+
169+ Arr1 = [ 'один' , 'два' , 'три' , 'четыре' , 'пять' , 'шесть' , 'семь' , 'восемь' , 'девять' ] ;
170+ Arr2 = [ 'одинадцать' , 'двенадцать' , 'тринадцать' , 'четырнадцать' , 'пятнадцать' ,
171+ 'шестнадцать' , 'семнадцать' , 'восемнадцать' , 'девятнадцать' ] ;
172+ Arr3 = [ 'десять' , 'двадцать' , 'тридцать' , 'сорок' , 'пятьдесят' , 'шестьдесят' , 'семьдесят' , 'восемьдесят' , 'девяносто' ] ;
173+ Arr4 = [ 'сто' , 'двести' , 'тристо' , 'четыресто' , 'пятьсот' , 'шестьсот' , 'семьсот' , 'восемьсот' , 'девятьсот' ] ;
174+
175+ if ( n > 0 && n < 10 ) {
176+ return Arr1 [ a - 1 ] ;
177+ }
178+ else if ( n > 10 && n < 20 ) {
179+ return Arr2 [ a - 1 ] ;
180+ }
181+ else if ( n >= 20 && n < 100 ) {
182+ if ( a - 1 < 0 ) { return Arr3 [ b - 1 ] ; }
183+ else {
184+ return Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
185+ }
186+ }
187+ else if ( n === 0 ) {
188+ return n = 0 ;
189+ }
190+ else if ( n >= 100 && n < 110 )
191+ if ( a - 1 < 0 ) {
192+ return Arr4 [ c - 1 ] ; }
193+ else {
194+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
195+ }
196+
197+ else if ( n >= 110 && n < 120 ) {
198+ if ( a - 1 < 0 ) {
199+ return Arr4 [ c - 1 ] ; }
200+ else {
201+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
202+ }
203+ }
204+
205+ else if ( n >= 120 && n < 200 ) {
206+ if ( a - 1 < 0 ) {
207+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
208+ else {
209+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
210+ }
211+ }
212+
213+
214+ //For 200
215+
216+ else if ( n >= 200 && n < 210 )
217+ if ( a - 1 < 0 ) {
218+ return Arr4 [ c - 1 ] ; }
219+ else {
220+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
221+ }
222+
223+ else if ( n >= 210 && n < 220 ) {
224+ if ( a - 1 < 0 ) {
225+ return Arr4 [ c - 1 ] ; }
226+ else {
227+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
228+ }
229+ }
230+
231+ else if ( n >= 220 && n < 300 ) {
232+ if ( a - 1 < 0 ) {
233+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
234+ else {
235+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
236+ }
237+ }
238+
239+ // For 300
240+ else if ( n >= 300 && n < 310 )
241+ if ( a - 1 < 0 ) {
242+ return Arr4 [ c - 1 ] ; }
243+ else {
244+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
245+ }
246+
247+ else if ( n >= 310 && n < 320 ) {
248+ if ( a - 1 < 0 ) {
249+ return Arr4 [ c - 1 ] ; }
250+ else {
251+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
252+ }
253+ }
254+
255+ else if ( n >= 320 && n < 400 ) {
256+ if ( a - 1 < 0 ) {
257+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
258+ else {
259+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
260+ }
261+ }
262+
263+ //For 400
264+ else if ( n >= 400 && n < 410 )
265+ if ( a - 1 < 0 ) {
266+ return Arr4 [ c - 1 ] ; }
267+ else {
268+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
269+ }
270+
271+ else if ( n >= 410 && n < 420 ) {
272+ if ( a - 1 < 0 ) {
273+ return Arr4 [ c - 1 ] ; }
274+ else {
275+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
276+ }
277+ }
278+
279+ else if ( n >= 420 && n < 500 ) {
280+ if ( a - 1 < 0 ) {
281+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
282+ else {
283+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
284+ }
285+ }
286+
287+ //For 500
288+ else if ( n >= 500 && n < 510 )
289+ if ( a - 1 < 0 ) {
290+ return Arr4 [ c - 1 ] ; }
291+ else {
292+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
293+ }
294+
295+ else if ( n >= 510 && n < 520 ) {
296+ if ( a - 1 < 0 ) {
297+ return Arr4 [ c - 1 ] ; }
298+ else {
299+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
300+ }
301+ }
302+
303+ else if ( n >= 520 && n < 600 ) {
304+ if ( a - 1 < 0 ) {
305+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
306+ else {
307+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
308+ }
309+ }
310+
311+ //For 600
312+
313+ else if ( n >= 600 && n < 610 )
314+ if ( a - 1 < 0 ) {
315+ return Arr4 [ c - 1 ] ; }
316+ else {
317+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
318+ }
319+
320+ else if ( n >= 610 && n < 620 ) {
321+ if ( a - 1 < 0 ) {
322+ return Arr4 [ c - 1 ] ; }
323+ else {
324+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
325+ }
326+ }
327+
328+ else if ( n >= 620 && n < 700 ) {
329+ if ( a - 1 < 0 ) {
330+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
331+ else {
332+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
333+ }
334+ }
335+
336+ //For 700
337+ else if ( n >= 700 && n < 710 )
338+ if ( a - 1 < 0 ) {
339+ return Arr4 [ c - 1 ] ; }
340+ else {
341+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
342+ }
343+
344+ else if ( n >= 710 && n < 720 ) {
345+ if ( a - 1 < 0 ) {
346+ return Arr4 [ c - 1 ] ; }
347+ else {
348+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
349+ }
350+ }
351+
352+ else if ( n >= 720 && n < 800 ) {
353+ if ( a - 1 < 0 ) {
354+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
355+ else {
356+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
357+ }
358+ }
359+
360+ //For 800
361+ else if ( n >= 800 && n < 810 )
362+ if ( a - 1 < 0 ) {
363+ return Arr4 [ c - 1 ] ; }
364+ else {
365+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
366+ }
367+
368+ else if ( n >= 810 && n < 820 ) {
369+ if ( a - 1 < 0 ) {
370+ return Arr4 [ c - 1 ] ; }
371+ else {
372+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
373+ }
374+ }
375+
376+ else if ( n >= 820 && n < 900 ) {
377+ if ( a - 1 < 0 ) {
378+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
379+ else {
380+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
381+ }
382+ }
383+
384+ //For 900
385+ else if ( n >= 900 && n < 910 )
386+ if ( a - 1 < 0 ) {
387+ return Arr4 [ c - 1 ] ; }
388+ else {
389+ return Arr4 [ c - 1 ] + ' ' + Arr1 [ a - 1 ] ;
390+ }
391+
392+ else if ( n >= 910 && n < 920 ) {
393+ if ( a - 1 < 0 ) {
394+ return Arr4 [ c - 1 ] ; }
395+ else {
396+ return Arr4 [ c - 1 ] + ' ' + Arr2 [ a - 1 ] ;
397+ }
398+ }
399+
400+ else if ( n >= 920 && n < 1000 ) {
401+ if ( a - 1 < 0 ) {
402+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] ; }
403+ else {
404+ return Arr4 [ c - 1 ] + ' ' + Arr3 [ b - 1 ] + ' ' + Arr1 [ a - 1 ] ;
405+ }
406+ }
407+
408+ }
0 commit comments