// Number: odd
// С помощью prompt узнайте число, введенное пользователем.С помощью if проверьте что число корректно преобразовано из строки.В случае ошибки выведите сообщение Выведите четное число или нет, используя if.
{
    const num = +prompt('Введите любое число в строке ниже')
    if (isNaN(num)) {
        alert('Некорректный формат! Пожалуйста, введите число')
    }
    if (num % 2 === 0) {
        alert(`Число ${num} четное`)
    }
    if (num % 2 !== 0) {
        alert(`Число ${num} нечетное`)
    }
}



// String: lexics
// Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов.Используйте метод indexOf(или includes) строки:
{
    const sentence = prompt('Введите ниже строку с нецензурной лексикой (пока используйте только слова "нехороший", "злостный"', 'Пример выражения злостный кролик - нехороший кролик')
    if (sentence.indexOf("нехороший") !== -1 || sentence.indexOf("злостный") !== -1) {
        alert('Матершинник! Нельзя так!')
    }
}



// Boolean
// Напишите код, который спрашивает те или иные вопросы с ответом "да" / "нет" с помощью confirm, и сохраняет ответы в переменных.
{
    const firstQuestion = confirm('Сейчас зима?')
    const secondQuestion = confirm('Ты учишься в школе A-level?')
    const thirdQuestion = confirm('Тебе больше 100 лет?')
}



// Boolean: if
// Расширьте предыдущее задание условиями по полученным переменным условиями(if else).Например, если вы спрашиваете пол пользователя с помощью confirm, то по условию сделайте alert("Вы женщина") и alert("Вы мужчина")
{
    const firstQuestion = confirm('Сейчас зима?')
    if (firstQuestion) {
        alert('Выгляни в окно. Ты удивишься')
    }
    else {
        alert('Да, ты прав. Сейчас осень')
    }

    const secondQuestion = confirm('Ты учишься в школе A-level?')
    if (secondQuestion) {
        alert('Молодец, скоро станеш сеньйором')
    }
    else {
        alert('А стоило бы записаться!')
    }

    const thirdQuestion = confirm('Тебе больше 100 лет?')
    if (thirdQuestion) {
        alert('Ничосе ты хорошо сохранился')
    }
    else {
        alert('Ну и молодец')
    }
}



// Comparison: sizes
// Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор.Используйте prompt, условия сравнения и alert.
{
    const sizes = prompt('Введите, размер чего будем ковертировать в американскую систему размеров:\nверхняя одежда, платья, брюки, женское белье, чулки, носки')
    if (sizes.includes('верхняя одежда') || sizes.includes('платья') || sizes.includes('брюки')) {
        let firstPart = +prompt('Введите размер одежды в Украине')
        alert(`Украинский ${firstPart} размер соответствует американскому ${6 + firstPart % 40} размеру`)
    }
    else if (sizes.includes('женское белье')) {
        let secondPart = +prompt('Введите размер одежды в Украине')
        alert(`Украинский ${secondPart} размер соответствует американскому ${8 + secondPart % 42} размеру`)
    }
    else if (sizes.includes('чулки') || sizes.includes('носки')) {
        let thirdPart = +prompt('Введите размер одежды в Украине')
        alert(`Украинский ${thirdPart} размер соответствует американскому ${8 + (thirdPart % 21) / 2} размеру`)
    }
    else {
        alert('Неправильная категория/мы такое не считаем')
    }
}



// Ternary
// Спросите у пользователя пол(confirm).Выведите с помощью alert "Вы мужчина" или "Вы женщина".Используйте тернарный оператор.
{
    confirm('Вы женщина?') ? alert('Вы женщина') : alert('Вы мужчина')
}



// Prompt: or
// Для задания Number: age используя ИЛИ || вывести сообщение об ошибке(alert) если пользователь не введет возраст или нажмет отмену(т.е.prompt выдаст пустую строку или null, интерпретируемую как false).
{
    const age = prompt('Укажите в поле, сколько вам полных лет (цифрами):')
    const bornYear = 2022 - +age
    const bornYearAlert = 'Вы родились в ' + bornYear + ' году'
    alert(age === null || age === '' ? 'Вы не ввели ваш возраст!' : bornYearAlert)
}



// Confirm: or this days - НУЖНО СПРОСИТЬ, ПРАВИЛЬНО ЛИ СДЕЛАЛ. ИЛИ ДЕЛАТЬ ЧЕРЕЗ ||
// C помощью этого же трюка(использование ИЛИ для запуска альтернативы) сделайте капризного робота, который в confirm спрашивает "шопинг?", а в случае отказа - выводить alert "ты - бяка".
{
    confirm('шопинг?') || alert('ты - бяка')
}



// Confirm: if this days
// Сделать тоже самое с помощью if.
{
    if (!confirm('шопинг?')) {
        alert('ты - бяка')
    }
}



// Default: or
// Попросите пользователя ввести ФИО в три разныe переменныe.Используя ИЛИ || добавьте строки по умолчанию, которые будут сохраняться во внутренних переменных если пользователь ввел пустую строку или нажал "Отмена".Например, если вы на шаге ввода Фамилии нажмете Escape, фамилия будет "Иванов"
{
    const surname = prompt('введите Вашу фамилию в поле ниже') || 'Иванов'
    const name = prompt('введите Ваше имя в поле ниже') || 'Иван'
    const patronymic = prompt('введите Ваше отчество в поле ниже') || 'Иванович'
    alert(`${surname} ${name} ${patronymic}`)
}



// Default: if
// Сделайте тоже самое с помощью if и else
{
    let surname = prompt('введите Вашу фамилию в поле ниже')
    if (surname === null || surname === '') { surname = 'Иванов' }
    else {
        surname
    }

    let name = prompt('введите Ваше имя в поле ниже')
    if (name === null || name === '') { name = 'Иван' }
    else {
        name
    }

    let patronymic = prompt('введите Ваше отчество в поле ниже')
    if (patronymic === null || patronymic === '') { patronymic = 'Иванович' }
    else {
        patronymic
    }

    alert(`${surname} ${name} ${patronymic}`)
}



// Login and password
// Напишите код, который спрашивает логин, проверяет его на верность, в случае если логин верен, просит ввести пароль и проверяет его.В случае несовпадения логина или пароля выводить alert с текстом ошибки.В случае успешного логина - alert с поздравлением.Правильные логин: admin и пароль: qwerty.Используйте вложенные if и else.
{
    if (prompt('Введите в поле ниже логин') !== 'admin') {
        alert('Логин введен неверно')
    }
    else if (prompt('Введите пароль в поле нижне') !== 'qwerty') {
        alert('Пароль введен неверно')
    }
    else {
        alert('Вы успешно авторизовались')
    }
}



// Currency exchange
// Попросите пользователя ввести валюту(например, usd, eur, другие валюты добавить по вкусу) с помощью prompt.
// Также поинтересуйтесь купить или продать он желает(используйте confirm).
// С помощью нескольких if и тернарного оператора внутри каждого из if задайте переменную rate, определяющую курс конкретной валюты на покупку или продажу.Обратите внимание на место объявления переменной rate - она должна быть доступна в коде после всех этих if.
// Попросите пользователя ввести сумму на обмен
// Посчитайте и выведите результат путем умножения или деления на rate
// Дайте возможность пользователю вводить названия валют в любом регистре(UsD, eUR).Для этого в if используйте toUpperCase(или toLowerCase)
{
    const currency = prompt('Введите искомую валюту в поле ниже:', 'usd/euro/gbp')
    const operation = confirm('Продаете?')
    let rate
    if (currency.toUpperCase() === 'USD') {
        operation ? rate = 39 : rate = 40.75
    }
    if (currency.toUpperCase() === 'EURO') {
        operation ? rate = 38 : rate = 39.90
    }
    if (currency.toUpperCase() === 'GBP') {
        operation ? rate = 43.55 : rate = 46.25
    }

    const summ = +prompt(`Введите в поле ниже, сколько ${currency.toUpperCase()} хотите ${operation ? 'продать' : 'купить'}`)
    alert(`${operation ? 'Вы получите на руки' : 'Вам нужно подготовить к продаже'} ${(summ * rate).toFixed(2)} гривен.`)
}




// Scissors
// Сделайте игру "камень-ножницы-бумага".Пользователь вводит свой вариант через prompt, программа генерирует свой вариант через Math.random() и выводит через alert.Следующий alert выводит имя победителя или "ничья"
{
    const userOption = prompt('Давай сыграем в камень-ножницы-бумага. Введи в строку ниже свою фигуру').toLowerCase()
    let myOption = Math.random()
    if (myOption < 0.33) {
        myOption = 'камень'
    } else if (myOption > 0.66) {
        myOption = 'ножницы'
    } else {
        myOption = 'бумага'
    }
    alert(`Моя фигура: ${myOption}`)

    if (userOption === myOption) {
        alert(`у нас ничья: у тебя ${userOption}, у меня ${myOption}`)
    } else if ((userOption === 'камень' && myOption === 'бумага') || (userOption === 'ножницы' && myOption === 'камень') || (userOption === 'бумага' && myOption === 'ножницы')) {
        alert(`ты проиграл: у тебя ${userOption}, у меня ${myOption}`)
    } else if ((userOption === 'камень' && myOption === 'ножницы') || (userOption === 'ножницы' && myOption === 'бумага') || (userOption === 'бумага' && myOption === 'камень')) {
        alert(`ты выиграл: у тебя ${userOption}, у меня ${myOption}`)
    } else {
        alert(`Не читери. Фигура ${userOption} не из этой игры`)
    }
}



// Дополнительное задание
// Слепить все задания в один текст, таким образом что бы вначале происходил ввод названия задания, а потом с помощью if запускался код конкретного задания
{
    const task = prompt('Введите название задания в строке ниже').toLowerCase()
    if (task === 'number: odd') {
        const num = +prompt('Введите любое число в строке ниже')
        if (isNaN(num)) {
            alert('Некорректный формат! Пожалуйста, введите число')
        }
        if (num % 2 === 0) {
            alert(`Число ${num} четное`)
        }
        if (num % 2 !== 0) {
            alert(`Число ${num} нечетное`)
        }
    } else if (task === 'string: lexics') {
        const sentence = prompt('Введите ниже строку с нецензурной лексикой (пока используйте только слова "нехороший", "злостный"', 'Пример выражения злостный кролик - нехороший кролик')
        if (sentence.indexOf("нехороший") !== -1 || sentence.indexOf("злостный") !== -1) {
            alert('Матершинник! Нельзя так!')
        }
    } else if (task === 'boolean') {
        const firstQuestion = confirm('Сейчас зима?')
        const secondQuestion = confirm('Ты учишься в школе A-level?')
        const thirdQuestion = confirm('Тебе больше 100 лет?')
    } else if (task === 'boolean: if') {
        const firstQuestion = confirm('Сейчас зима?')
        if (firstQuestion) {
            alert('Выгляни в окно. Ты удивишься')
        }
        else {
            alert('Да, ты прав. Сейчас осень')
        }

        const secondQuestion = confirm('Ты учишься в школе A-level?')
        if (secondQuestion) {
            alert('Молодец, скоро станеш сеньйором')
        }
        else {
            alert('А стоило бы записаться!')
        }

        const thirdQuestion = confirm('Тебе больше 100 лет?')
        if (thirdQuestion) {
            alert('Ничосе ты хорошо сохранился')
        }
        else {
            alert('Ну и молодец')
        }
    } else if (task === 'comparison: sizes') {
        const sizes = prompt('Введите, размер чего будем ковертировать в американскую систему размеров:\nверхняя одежда, платья, брюки, женское белье, чулки, носки')
        if (sizes.includes('верхняя одежда') || sizes.includes('платья') || sizes.includes('брюки')) {
            let firstPart = +prompt('Введите размер одежды в Украине')
            alert(`Украинский ${firstPart} размер соответствует американскому ${6 + firstPart % 40} размеру`)
        }
        else if (sizes.includes('женское белье')) {
            let secondPart = +prompt('Введите размер одежды в Украине')
            alert(`Украинский ${secondPart} размер соответствует американскому ${8 + secondPart % 42} размеру`)
        }
        else if (sizes.includes('чулки') || sizes.includes('носки')) {
            let thirdPart = +prompt('Введите размер одежды в Украине')
            alert(`Украинский ${thirdPart} размер соответствует американскому ${8 + (thirdPart % 21) / 2} размеру`)
        }
        else {
            alert('Неправильная категория/мы такое не считаем')
        }
    } else if (task === 'ternary') {
        confirm('Вы женщина?') ? alert('Вы женщина') : alert('Вы мужчина')
    } else if (task === 'training') {
        alert('Это задание выполняется в устной форме для собственной тренировки')
    } else if (task === 'prompt: or') {
        const age = prompt('Укажите в поле, сколько вам полных лет (цифрами):')
        const bornYear = 2022 - +age
        const bornYearAlert = 'Вы родились в ' + bornYear + ' году'
        alert(age === null || age === '' ? 'Вы не ввели ваш возраст!' : bornYearAlert)
    } else if (task === 'confirm: or this days') {
        confirm('шопинг?') || alert('ты - бяка')
    } else if (task === 'confirm: if this days') {
        if (!confirm('шопинг?')) {
            alert('ты - бяка')
        }
    } else if (task === 'default: or') {
        const surname = prompt('введите Вашу фамилию в поле ниже') || 'Иванов'
        const name = prompt('введите Ваше имя в поле ниже') || 'Иван'
        const patronymic = prompt('введите Ваше отчество в поле ниже') || 'Иванович'
        alert(`${surname} ${name} ${patronymic}`)
    } else if (task === 'default: if') {
        let surname = prompt('введите Вашу фамилию в поле ниже')
        if (surname === null || surname === '') { surname = 'Иванов' }
        else {
            surname
        }

        let name = prompt('введите Ваше имя в поле ниже')
        if (name === null || name === '') { name = 'Иван' }
        else {
            name
        }

        let patronymic = prompt('введите Ваше отчество в поле ниже')
        if (patronymic === null || patronymic === '') { patronymic = 'Иванович' }
        else {
            patronymic
        }

        alert(`${surname} ${name} ${patronymic}`)
    } else if (task === 'login and password') {
        if (prompt('Введите в поле ниже логин') !== 'admin') {
            alert('Логин введен неверно')
        }
        else if (prompt('Введите пароль в поле нижне') !== 'qwerty') {
            alert('Пароль введен неверно')
        }
        else {
            alert('Вы успешно авторизовались')
        }
    } else if (task === 'currency exchange') {
        const currency = prompt('Введите искомую валюту в поле ниже:', 'usd/euro/gbp')
        const operation = confirm('Продаете?')
        let rate
        if (currency.toUpperCase() === 'USD') {
            operation ? rate = 39 : rate = 40.75
        }
        if (currency.toUpperCase() === 'EURO') {
            operation ? rate = 38 : rate = 39.90
        }
        if (currency.toUpperCase() === 'GBP') {
            operation ? rate = 43.55 : rate = 46.25
        }

        const summ = +prompt(`Введите в поле ниже, сколько ${currency.toUpperCase()} хотите ${operation ? 'продать' : 'купить'}`)
        alert(`${operation ? 'Вы получите на руки' : 'Вам нужно подготовить к продаже'} ${(summ * rate).toFixed(2)} гривен.`)
    } else if (task === 'scissors') {
        const userOption = prompt('Давай сыграем в камень-ножницы-бумага. Введи в строку ниже свою фигуру').toLowerCase()
        let myOption = Math.random()
        if (myOption < 0.33) {
            myOption = 'камень'
        } else if (myOption > 0.66) {
            myOption = 'ножницы'
        } else {
            myOption = 'бумага'
        }
        alert(`Моя фигура: ${myOption}`)

        if (userOption === myOption) {
            alert(`у нас ничья: у тебя ${userOption}, у меня ${myOption}`)
        } else if ((userOption === 'камень' && myOption === 'бумага') || (userOption === 'ножницы' && myOption === 'камень') || (userOption === 'бумага' && myOption === 'ножницы')) {
            alert(`ты проиграл: у тебя ${userOption}, у меня ${myOption}`)
        } else if ((userOption === 'камень' && myOption === 'ножницы') || (userOption === 'ножницы' && myOption === 'бумага') || (userOption === 'бумага' && myOption === 'камень')) {
            alert(`ты выиграл: у тебя ${userOption}, у меня ${myOption}`)
        } else {
            alert(`Не читери. Фигура ${userOption} не из этой игры`)
        }
    } else if (task === 'дополнительное задание') {
        alert('Как раз сейчас ты его смотришь')
    } else if (task === 'задание на черный пояс') {
        const userOption = prompt('Давай сыграем в камень-ножницы-бумага. Введи в строку ниже свою фигуру').toLowerCase()
        let myOption = Math.random()
        if (myOption < 0.33) {
            myOption = 'камень'
        } else if (myOption > 0.66) {
            myOption = 'ножницы'
        } else {
            myOption = 'бумага'
        }
        alert(`Моя фигура: ${myOption}`)

            ((userOption === myOption && alert('Ничья')) || (((userOption === 'камень' && myOption === 'ножницы') || (userOption === 'ножницы' && myOption === 'бумага') || (userOption === 'бумага' && myOption === 'камень')) && alert('Ты выиграл')) || (((userOption === 'ножницы' && myOption === 'камень') || (userOption === 'бумага' && myOption === 'ножницы') || (userOption === 'камень' && myOption === 'бумага')) && alert('Ты проиграл')))
    }

}



// Задание на черный пояс
// Сделайте игру "камень-ножницы-бумага", как описано выше, пользуясь логическими операциями(&&, ||, !), не используя if.Задание должно быть решено одним выражением
{
    const userOption = prompt('Давай сыграем в камень-ножницы-бумага. Введи в строку ниже свою фигуру').toLowerCase()
    let myOption = Math.random()
    if (myOption < 0.33) {
        myOption = 'камень'
    } else if (myOption > 0.66) {
        myOption = 'ножницы'
    } else {
        myOption = 'бумага'
    }
    alert(`Моя фигура: ${myOption}`)

        ((userOption === myOption && alert('Ничья')) || (((userOption === 'камень' && myOption === 'ножницы') || (userOption === 'ножницы' && myOption === 'бумага') || (userOption === 'бумага' && myOption === 'камень')) && alert('Ты выиграл')) || (((userOption === 'ножницы' && myOption === 'камень') || (userOption === 'бумага' && myOption === 'ножницы') || (userOption === 'камень' && myOption === 'бумага')) && alert('Ты проиграл')))
}
