Vitalii Polishchuk 3 vuotta sitten
vanhempi
commit
7263a3711c

+ 1 - 1
js/03-js-types-expression-conditions-logic/index.html

@@ -10,7 +10,7 @@
 
 <body>
 
-    <script src="/js/main.js"></script>
+    <script src="js/main.js"></script>
 </body>
 
 </html>

+ 272 - 0
js/03-js-types-expression-conditions-logic/js/main.js

@@ -0,0 +1,272 @@
+let homework = prompt("Введите название задания: ");
+
+switch (homework) {
+    case "switch: sizes":
+        let userSize = prompt("Введите ваш размер (Россия):");
+        switch (userSize) {
+            case "40": alert("Ваш размер (Италия): 38");
+                break;
+            case "42": alert("Ваш размер (Италия): 40");
+                break;
+            case "44": alert("Ваш размер (Италия): 42");
+                break;
+            case "46": alert("Ваш размер (Италия): 44");
+                break;
+            case "48": alert("Ваш размер (Италия): 46");
+                break;
+            case "50": alert("Ваш размер (Италия): 48");
+                break;
+            case "52": alert("Ваш размер (Италия): 50");
+                break;
+            case "54": alert("Ваш размер (Италия): 52");
+                break;
+            default: alert('Вы ввели некорректный размер');
+        };
+        break;
+    case "switch: if":
+        let color = prompt("Введите цвет", "");
+
+        if (color === "red") {
+            document.write("<div style='background-color: red;'>красный</div>");
+            document.write("<div style='background-color: black; color: white;'>черный</div>");
+        } else if (color === "black") {
+            document.write("<div style='background-color: black; color: white;'>черный</div>");
+        } else if (color === "blue") {
+            document.write("<div style='background-color: blue;'>синий</div>");
+            document.write("<div style='background-color: green;'>зеленый</div>");
+        } else if (color === "green") {
+            document.write("<div style='background-color: green;'>зеленый</div>");
+        } else {
+            document.write("<div style='background-color: gray;'>Я не понял</div>");
+        };
+        break;
+    case "prompt: or":
+        let year = 2021;
+        let ages = +prompt("Введите свой возраст");
+
+        if (ages == null || ages == 0 || isNaN(ages)) {
+            alert("Что-то не так, проверьте правильность ввода")
+        } else {
+            alert("Вы " + (year - ages) + " года рождения");
+        };
+        break;
+    case "confirm: or this days":
+        let Shoping = confirm("шопинг?") || alert("ты - бяка");
+        break;
+    case "confirm: if this days":
+        let isShoping = confirm("шопинг?");
+
+        if (!isShoping) {
+            alert("ты - бяка");
+        };
+        break;
+    case "triple prompt":
+        let userName = {
+            surname: prompt("Какая у Вас фамилия?"),
+            name: prompt("Какое у Вас имя?"),
+            patronymic: prompt("Какое у Вас отчество?"),
+        };
+
+        alert("Ваше ФИО: " + Object.values(userName).join(" "));
+        break;
+    case "default: or":
+        let userNameDefaultOr = {
+            surname: prompt("Какая у Вас фамилия?") || "Петров",
+            name: prompt("Какое у Вас имя?") || "Петр",
+            patronymic: prompt("Какое у Вас отчество?") || "Петрович",
+        };
+
+        alert("Ваше ФИО: " + Object.values(userNameDefaultOr).join(" "));
+        break;
+    case "default: if":
+        let userNameDefaultIf = {
+            surname: prompt("Какая у Вас фамилия?"),
+            name: prompt("Какое у Вас имя?"),
+            patronymic: prompt("Какое у Вас отчество?"),
+        };
+        if (userNameDefaultIf.surname == null || userNameDefaultIf.surname == 0) {
+            userNameDefaultIf.surname = "Петров";
+        };
+        if (userNameDefaultIf.name == null || userNameDefaultIf.name == 0) {
+            userNameDefaultIf.name = "Пётр";
+        };
+        if (userNameDefaultIf.patronymic == null || userNameDefaultIf.patronymic == 0) {
+            userNameDefaultIf.patronymic = "Петрович";
+        };
+
+        alert("Ваше ФИО: " + Object.values(userNameDefaultIf).join(" "));
+        break;
+    case "login and password":
+        let userValid = {
+            login: "admin",
+            password: "qwerty",
+        }
+
+        let userLogin = prompt("Введите логин");
+
+        if (userLogin === userValid.login) {
+            let userPassword = prompt("Введите пароль");
+
+            if (userPassword === userValid.password) {
+                alert("Супер, логин и пароль совпадают");
+            } else {
+                alert("Неверный пароль");
+            }
+        } else {
+            alert("Неверный логин");
+        };
+        break;
+    case "currency calc":
+        let currency = prompt("Выбирите во что перевести ваши грн (usd или eur)");
+        let currentCurrency, amountCurrency, userCurrency;
+
+        switch (currency) {
+            case "usd":
+                currentCurrency = 27.4664;
+                amountCurrency = +prompt("Сколько хотите перевести?");
+                userCurrency = +(amountCurrency / currentCurrency).toFixed(2);
+                amountCurrency ? alert("Вы получите " + userCurrency + " " + currency) : alert("Ошибочка вышла, введите количество");
+                break;
+            case "eur":
+                currentCurrency = 32.8609;
+                amountCurrency = +prompt("Сколько хотите перевести?");
+                userCurrency = +(amountCurrency / currentCurrency).toFixed(2);
+                amountCurrency ? alert("Вы получите " + userCurrency + " " + currency) : alert("Ошибочка вышла, введите количество");
+                break;
+            default: alert("Ошибочка вышла, выберите валюту из предложенного");
+        };
+        break;
+    case "currency calc: improved":
+        let currencyImproved = (prompt("Выбирите во что перевести ваши грн (usd или eur)")).toLowerCase();
+        let currentCurrencyImproved, amountCurrencyImproved, userCurrencyImproved;
+
+        switch (currencyImproved) {
+            case "usd":
+                currentCurrencyImproved = 27.4664;
+                amountCurrencyImproved = +prompt("Сколько хотите перевести?");
+                userCurrencyImproved = +(amountCurrencyImproved / currentCurrencyImproved).toFixed(2);
+                amountCurrencyImproved ? alert("Вы получите " + userCurrencyImproved + " " + currencyImproved) : alert("Ошибочка вышла, введите количество");
+                break;
+            case "eur":
+                currentCurrencyImproved = 32.8609;
+                amountCurrencyImproved = +prompt("Сколько хотите перевести?");
+                userCurrencyImproved = +(amountCurrencyImproved / currentCurrencyImproved).toFixed(2);
+                amountCurrencyImproved ? alert("Вы получите " + userCurrency + " " + currencyImproved) : alert("Ошибочка вышла, введите количество");
+                break;
+            default: alert("Ошибочка вышла, выберите валюту из предложенного");
+        };
+        break;
+    case "currency calc: two rates":
+        let currencyTwo = (prompt("Выбирите во что перевести ваши грн (usd или eur)")).toLowerCase();
+        let currentCurrencyTwo, amountCurrencyTwo, userCurrencyTwo;
+
+        switch (currencyTwo) {
+            case "usd": confirm("Продажа или покупка? (ОК - Продажа, Отмена - Покупка") ? currentCurrencyTwo = 27.4664 : currentCurrencyTwo = 27.2417;
+                amountCurrencyTwo = +prompt("Сколько хотите перевести?");
+                userCurrencyTwo = +(amountCurrencyTwo / currentCurrencyTwo).toFixed(2);
+                amountCurrencyTwo ? alert("Вы получите " + userCurrencyTwo + " " + currencyTwo) : alert("Ошибочка вышла, введите количество");
+                break;
+            case "eur": confirm("Продажа или покупка? (ОК - Продажа, Отмена - Покупка") ? currentCurrencyTwo = 32.8609 : currentCurrencyTwo = 32.4507;
+                amountCurrencyTwo = +prompt("Сколько хотите перевести?");
+                userCurrencyTwo = +(amountCurrencyTwo / currentCurrencyTwo).toFixed(2);
+                amountCurrencyTwo ? alert("Вы получите " + userCurrencyTwo + " " + currencyTwo) : alert("Ошибочка вышла, введите количество");
+                break;
+            default: alert("Ошибочка вышла, выберите валюту из предложенного");
+        };
+        break;
+    case "currency calc: if":
+        let currencyIf = (prompt("Выбирите во что перевести ваши грн (usd или eur)")).toLowerCase();
+
+        if (currencyIf === "usd") {
+            let isSell = confirm("Продажа или покупка? (ОК - Продажа, Отмена - Покупка");
+
+            if (isSell) {
+                currentCurrencyIf = 27.4664;
+            } else {
+                currentCurrencyIf = 27.2417;
+            }
+
+            let amountCurrencyIf = prompt("Сколько хотите перевести?");
+            let userCurrencyIf = +(amountCurrencyIf / currentCurrencyIf).toFixed(2);
+
+            if (amountCurrencyIf) {
+                alert("Вы получите " + userCurrencyIf + " " + currencyIf);
+            } else {
+                alert("Ошибочка вышла, введите количество");
+            }
+        } else if (currencyIf === "eur") {
+            let isSell = confirm("Продажа или покупка? (ОК - Продажа, Отмена - Покупка");
+
+            if (isSell) {
+                currentCurrencyIf = 32.8609;
+            } else {
+                currentCurrencyIf = 32.4507;
+            }
+
+            let amountCurrencyIf = prompt("Сколько хотите перевести?");
+            let userCurrencyIf = +(amountCurrencyIf / currentCurrencyIf).toFixed(2);
+
+            if (amountCurrencyIf) {
+                alert("Вы получите " + userCurrencyIf + " " + currencyIf);
+            } else {
+                alert("Ошибочка вышла, введите количество");
+            }
+        } else {
+            alert("Ошибочка вышла, выберите валюту из предложенного");
+        };
+        break;
+    case "scissors":
+        let gameOptions = ["камень", "ножницы", "бумага"];
+        let userChoise = gameOptions.indexOf(prompt(gameOptions + " ?").toLowerCase());
+        let computerChoise = Math.floor(Math.random() * 3);
+
+        alert("У Компьютера - " + gameOptions[computerChoise]);
+
+        if (userChoise === computerChoise) {
+            alert("Ничья");
+        } else if ((userChoise - computerChoise + 3) % 3 === 1) {
+            alert("Вы проиграли");
+        } else {
+            alert("Вы победили");
+        };
+        break;
+    case "Задание на синий пояс":
+        let ratios = {
+            usd: {
+                sell: 27.4664,
+                buy: 27.2417,
+            },
+            eur: {
+                sell: 32.8609,
+                buy: 32.4507,
+            },
+        };
+
+        let currencyBlue = (prompt("Выбирите во что перевести ваши грн (usd или eur)")).toLowerCase();
+        let sellBuyOption, currencyResult;
+
+        if (currencyBlue === "usd" || currencyBlue === "eur") {
+            if (currencyBlue === "usd") {
+                sellBuyOption = confirm("Продажа или покупка? (ОК - Продажа, Отмена - Покупка") ? ratios["usd"]["sell"] : ratios["usd"]["buy"];
+            } else {
+                sellBuyOption = confirm("Продажа или покупка? (ОК - Продажа, Отмена - Покупка") ? ratios["eur"]["sell"] : ratios["eur"]["buy"];
+            }
+
+            currencyResult = (+prompt("Сколько хотите перевести?") / sellBuyOption).toFixed(2);
+            if (currencyResult == null || currencyResult == 0) {
+                alert("Ошибочка вышла, введите количество");
+            } else {
+                alert("Вы получите " + currencyResult + " " + currencyBlue);
+            }
+        } else {
+            alert("Ошибочка вышла, выберите валюту из предложенного");
+        };
+        break;
+    case "Задание на черный пояс":
+        let gameOptionsBlack = ["камень", "ножницы", "бумага"];
+        let userChoiseBlack = gameOptionsBlack.indexOf(prompt(gameOptionsBlack + " ?").toLowerCase());
+        let computerChoiseBlack = Math.floor(Math.random() * 3);
+
+        let gameResult = alert("У Компьютера - " + gameOptionsBlack[computerChoiseBlack]) || (((userChoiseBlack === computerChoiseBlack) && alert("Ничья")) || (((userChoiseBlack - computerChoiseBlack + 3) % 3 === 1) && alert("Вы проиграли")) || (((computerChoiseBlack - userChoiseBlack + 3) % 3 === 1) && alert("Вы победили")));
+        break;
+};