|
@@ -1,7 +1,20 @@
|
|
|
-//while(true) {
|
|
|
+function truncateFraction (number) {
|
|
|
+ try {
|
|
|
+ let strNum = String(number).split('.')
|
|
|
+ if(strNum[1].length > 2) {
|
|
|
+ strNum[1] = strNum[1].slice(0, 2)
|
|
|
+ }
|
|
|
+ return Number(strNum.join('.'))
|
|
|
+ } catch (e) {
|
|
|
+ return number
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+var loop = true
|
|
|
+
|
|
|
+while(loop) {
|
|
|
switch(prompt('input task name:', '')) {
|
|
|
case 'switch: sizes':
|
|
|
- //switch: sizes
|
|
|
let usSize = [
|
|
|
{
|
|
|
number: [6],
|
|
@@ -69,19 +82,10 @@
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'switch: if':
|
|
|
let color = prompt("Введите цвет","");
|
|
|
- // switch (color){
|
|
|
- // case "red": document.write("<div style='background-color: red;'>красный</div>");
|
|
|
- // case "black": document.write("<div style='background-color: black; color: white;'>черный</div>");
|
|
|
- // break;
|
|
|
- // case "blue": document.write("<div style='background-color: blue;'>синий</div>");
|
|
|
- // case "green": document.write("<div style='background-color: green;'>зеленый</div>");
|
|
|
- // break;
|
|
|
- // default: document.write("<div style='background-color: gray;'>Я не понял</div>");
|
|
|
- // }
|
|
|
-
|
|
|
+
|
|
|
if(color === 'red') {
|
|
|
document.write("<div style='background-color: red;'>красный</div>");
|
|
|
document.write("<div style='background-color: black; color: white;'>черный</div>");
|
|
@@ -95,8 +99,11 @@
|
|
|
} else {
|
|
|
document.write("<div style='background-color: gray;'>Я не понял</div>");
|
|
|
}
|
|
|
+ alert('aborting execution to make changes. Reload page to return to select mode')
|
|
|
+ loop = false
|
|
|
+
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'prompt: or':
|
|
|
let age = prompt('Введите свой возраст', '') || alert('Вы не ввели ничего!')
|
|
|
if (age && isNaN(age) || age > 200 || age < 0){
|
|
@@ -107,7 +114,7 @@
|
|
|
alert(`Исходя из введенного вами возраста вы родились в ${res}г. либо ${res-1}г.`)
|
|
|
}
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'confirm: or this days':
|
|
|
confirm('шоппинг') || alert('ты-бяка')
|
|
|
break;
|
|
@@ -117,26 +124,26 @@
|
|
|
alert('ты-бяка')
|
|
|
}
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'triple prompt':
|
|
|
let Name = prompt('your Name:','')
|
|
|
let surname = prompt('your Surname:','')
|
|
|
let patronymic = prompt('your Patronymic:','')
|
|
|
alert(`${surname} ${Name} ${patronymic}`)
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'default: or':
|
|
|
let defaultName = prompt('your Name:','') || 'Иван'
|
|
|
let defaultSurname = prompt('your Surname:','') || 'Иванов'
|
|
|
let defaultPatronymic = prompt('your Patronymic:','') || 'Иванович'
|
|
|
alert(`${defaultSurname} ${defaultName} ${defaultPatronymic}`)
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'default: if':
|
|
|
let NameIf = prompt('your Name:','')
|
|
|
let surnameIf = prompt('your Surname:','')
|
|
|
let patronymicIf = prompt('your Patronymic:','')
|
|
|
-
|
|
|
+
|
|
|
if(NameIf) {
|
|
|
NameIf = NameIf
|
|
|
} else {
|
|
@@ -155,7 +162,7 @@
|
|
|
|
|
|
alert(`"if else" to add default values:
|
|
|
${surnameIf} ${NameIf} ${patronymicIf}`)
|
|
|
-
|
|
|
+
|
|
|
break;
|
|
|
|
|
|
case 'login and password':
|
|
@@ -172,18 +179,6 @@
|
|
|
break;
|
|
|
|
|
|
case 'currency calc':
|
|
|
- function truncateFraction (number) {
|
|
|
- try {
|
|
|
- let strNum = String(number).split('.')
|
|
|
- if(strNum[1].length > 2) {
|
|
|
- strNum[1] = strNum[1].slice(0, 2)
|
|
|
- }
|
|
|
- return Number(strNum.join('.'))
|
|
|
- } catch (e) {
|
|
|
- return number
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
let curr = prompt('type currency: "eur" or "usd"','')
|
|
|
let transferLog = {
|
|
|
initial: 'hrn',
|
|
@@ -207,7 +202,6 @@
|
|
|
}
|
|
|
|
|
|
if(curr) {
|
|
|
-
|
|
|
// switch(curr.toLowerCase()) {
|
|
|
// case 'eur':
|
|
|
// transferLog.to = 'eur'
|
|
@@ -219,7 +213,6 @@
|
|
|
// break;
|
|
|
// }
|
|
|
|
|
|
-
|
|
|
if(curr.toLowerCase() === 'eur') {
|
|
|
transferLog.to = 'eur'
|
|
|
confirm('Sell press "Ok" | Buy press "Cancel"')? transferLog.curr = [transferLog.ratios['sold']['usd'], 'sold'] : transferLog.curr = [transferLog.ratios['bought']['usd'], 'bought']
|
|
@@ -231,6 +224,7 @@
|
|
|
|
|
|
if(transferLog.to === 'eur' || transferLog.to === 'usd') {
|
|
|
transferLog.money = prompt('input amount of money to give', '')
|
|
|
+
|
|
|
if(!+transferLog.money) {
|
|
|
alert('invalid input')
|
|
|
} else {
|
|
@@ -242,7 +236,7 @@
|
|
|
} else if(transferLog.curr[1] === 'bought') {
|
|
|
transferLog.money = truncateFraction(transferLog.given * transferLog.curr[0])
|
|
|
transferLog.message = `You've ${transferLog.curr[1]} ${transferLog.money}${transferLog.to} for ${transferLog.given}${transferLog.initial}`
|
|
|
- }
|
|
|
+ }
|
|
|
transferLog.money > 0? alert(transferLog.message) : alert(`Looks like there is too little amount of hrn given to translate to ${transferLog.to}`)
|
|
|
}
|
|
|
} else {
|
|
@@ -252,7 +246,7 @@
|
|
|
alert('No input.')
|
|
|
}
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
case 'scissors':
|
|
|
let combos = {
|
|
|
paper: {
|
|
@@ -289,11 +283,67 @@
|
|
|
alert('user disqualified! Compuer wins!')
|
|
|
}
|
|
|
break;
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ case 'real data':
|
|
|
+ let currReal = prompt('type currency: "eur" or "usd"','')
|
|
|
+
|
|
|
+ if(currReal && currReal.toLowerCase() === 'eur' || currReal.toLowerCase() === 'usd') {
|
|
|
+ currReal = currReal.toLowerCase()
|
|
|
+ let sellReal = confirm('Sell press "Ok" | Buy press "Cancel"')
|
|
|
+ let operationReal = sellReal? 'sold' : 'bought'
|
|
|
+ let givenReal = prompt('input amount of money you give:','')
|
|
|
+
|
|
|
+ if(givenReal && !isNaN(givenReal)) {
|
|
|
+ givenReal = truncateFraction(Number(givenReal))
|
|
|
+
|
|
|
+ fetch(`https://open.er-api.com/v6/latest/${currReal.toUpperCase()}`).then(res => res.json())
|
|
|
+ .then(data => {
|
|
|
+ let got = sellReal ? truncateFraction(givenReal * data.rates.UAH) : truncateFraction(givenReal / data.rates.UAH)
|
|
|
+ if(got > 0) {
|
|
|
+ sellReal ?
|
|
|
+ alert(`You've ${operationReal} ${givenReal}${currReal} for ${got}hrn`):
|
|
|
+ alert(`You've ${operationReal} ${got}${currReal} for ${givenReal}hrn`)
|
|
|
+ } else {
|
|
|
+ alert(`Looks like there is too little amount of money been given to make such operation`)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ alert('invalid input')
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ alert('invalid input')
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'black belt':
|
|
|
+ let combos2 = {
|
|
|
+ paper: {
|
|
|
+ conter: 'scissors'
|
|
|
+ },
|
|
|
+ scissors: {
|
|
|
+ conter: 'rock'
|
|
|
+ },
|
|
|
+ rock: {
|
|
|
+ conter: 'paper'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let user2 = prompt('rock, paper, scissors?').toLowerCase()
|
|
|
+ let computer2 = Math.random() >= 0.6 ? 'scissors' : (Math.random() <= 0.3 ? 'paper' : 'rock')
|
|
|
+ alert(`computer: ${computer2}`)
|
|
|
+
|
|
|
+ user2 === 'rock' || user2 === 'paper' || user2 === 'scissors'? (computer2 === user2? alert('TIE') : combos2[computer2].conter === user2 ? alert('USER WINS.') : alert('COMPUTER WINS.')) : alert('user disqualified! Compuer wins!')
|
|
|
+
|
|
|
+ break;
|
|
|
+
|
|
|
+ case null:
|
|
|
+ loop = false
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
alert('no matches found:(')
|
|
|
- break;
|
|
|
}
|
|
|
-//}
|
|
|
+}
|
|
|
|
|
|
|