JSFiddle - React, Tailwind, and code Playground

by fristyr

JavaScript

/*#7 (**)

Переписать код из примеров 2.03 и 2.07 с использование while и do while.*/


let a = -10;
while (a <= 10, a++) {
    let b = -10;
    while (b <= 10, b++) {
        let c = -10;
        while (c <= 10, c++) {
            const mul = a * b * c // multiplication = умножение
            const sum = 10 * (Math.abs(a) + Math.abs(b) + Math.abs(c))
            do {
                console.log(a, b, c);
            } while (mul > sum && (a < 0 || b < 0 || c < 0));
        }
    }
}

// Тема: prompt, parseInt, alert, if, else if, else, break, continue
// Примечание: конкатинация строк, специ-символ, 

const MIN = 1
const MAX = 100
const NUMBER = MIN + Math.floor(Math.random() * (MAX - MIN + 1))
const HOPS = 2

let greeting = ''

greeting += 'Сыграем в игру "Угадай число"!\n'
greeting += 'Я загадал число от ' + MIN + ' до ' + MAX + '. У тебя есть ' + HOPS + ' попыток его отгадать.\n'
greeting += 'Причем после каждой попытки я буду давать тебе подсказку.\n'

// console.log(greeting)
alert(greeting)

let isWin = false
let hint = ''

let i = 0;


while (i < HOPS) {
	let message = 'Твоя ' + (i + 1) + ' попытка. Твое число:'
 	i++
	if (hint) {
		message = hint + message
	}

	const answer = parseInt(prompt(message))
	// console.log(typeof answer, answer)

	if (answer === NUMBER) {
		isWin = true
	}

	else if (answer > NUMBER) {
		hint = 'Задуманное число меньше ' + answer + '\n'
		continue
	}

	else {
		hint = 'Задуманное число больше ' + answer + '\n'
		continue
	}

	if (isWin) {
		break
	}
}

if (isWin) {
	const message = 'Мои поздравления! Ты угадал задуманное ' + NUMBER + ' число.'
	alert(message)
}

else {
	const message = 'Увы! Загаданное число было ' + NUMBER + '. В следующий раз сыграешь лучше.'
	alert(message)
}