diff --git a/Images/background_for_games.jpg b/Images/background_for_games.jpg new file mode 100644 index 0000000..a53d48c Binary files /dev/null and b/Images/background_for_games.jpg differ diff --git a/JavascriptTasks.js b/JavascriptTasks.js new file mode 100644 index 0000000..533ea44 --- /dev/null +++ b/JavascriptTasks.js @@ -0,0 +1,285 @@ +// Написать программу, которая будет проверять слова на повторяющие буквы +// Пример +isIsogram( "Dermatoglyphics" ) == true +isIsogram( "aba" ) == false +isIsogram( "moOse" ) == false // -- ignore letter case +// +function isIsogram(str) { + // создаем две переменных, которые будут перебирать массив и сравнивать неповторящиеся буквы и повторяющиеся + let i, j; + // так как мы работает с буквами (это стринговые значения), нужна стринг приравнять к нижнему регистру, чтобы любой запрос подходил под нижний регистр + str = str.toLowerCase(); + // теперь даем задание тем двум переменным перебрать входящие данные с помощью цикла for + for (i = 0; i < str.length; ++i) { + for(j = 0; j < str.length; ++j) { + // теперь пишем условие, что если j и I совпадают, значит программа обнаружила одинаковые символу, то есть стринг + if(str[i] === str[j]) { + // возвращаем false + return false; + } + } + + } + // означает, что наша программа отработала верно + return true; +} +// или +function isIsogram(str){ + var hash = {}; + str = str.toLowerCase(); + for (var i = 0; i < str.length; i++) { + if (hash[str[i]]) { + return false; + } + hash[str[i]] = true; + } + return true; + } +// +function calculateTotal() { + // тело функции + console.log("hello js!"); + const total = 20 + 20; + return total; +} +// Запускаем функцию +const total = calculateTotal(); + +const numOne = 13; +const numTwo = 11; +function calculateTotal(num1, num2) { + // тело функции + return num1 + num2; +} +// Запускаем функцию +const total = calculateTotal(numOne, numTwo); +// +// Называем функцию и указываем один параметр для входной строки +// используем return для того чтобы вернуть результат этой функции +// берем наш параметр, который получили на входной строке, и разделяем его пробелами +// с помощью map перебираем входящее значение (например word, что и будет являться str) +// далее с помощью стрелочной функции повторяем операциию с деление слова, но уже без пробела, затем переворачиваем +// и объединяем +function reverseWords(str) { + return str.split(" ").map(word => word.split("").reverse().join("")).join(" ") + + + } +// Write a function called startsWithVowel that takes a string as input and returns true if the string starts with a vowel, and false otherwise. + +// Write a function called removeVowels that takes a string as input and returns a new string with all the vowels removed. + +// Write a function called findLongestWord that takes a string as input and returns the longest word in the string. + +// Write a function called isPalindrome that takes a string as input and returns true if the string is a palindrome (i.e., the same forwards and backwards), and false otherwise. + +// Write a function called titleCase that takes a string as input and returns a new string with the first letter of each word capitalized. + +function strCount(str, letter) { + let count = 0; // initialize a variable to keep track of the count + str = str.toLowerCase(); + for (let i = 0; i < str.length; i++) { + if (str[i] === letter) { + count++; + } + } + return count; // return the final count + } + + + + +// Complete the square sum function so that it squares each number passed into it and then sums the results together. (Use map and reduce methods) + function squareSum(numbers) { + let sum = numbers.map(el => el ** 2).reduce((acc, cur) => acc + cur, 0) + return sum; + } + + + + + +// Complete the solution so that it reverses the string passed into it. +// 'world' => 'dlrow' +// 'word' => 'drow' + + function solution(str){ + return str.split("").reverse().join("").split(" ").reverse().join(" "); + } + + + + + +// There's a "3 for 2" (or "2+1" if you like) offer on mangoes. For a given quantity and price (per mango), calculate the total cost of the mangoes. +// Examples +// mango(2, 3) ==> 6 # 2 mangoes for $3 per unit = $6; no mango for free +// mango(3, 3) ==> 6 # 2 mangoes for $3 per unit = $6; +1 mango for free +// mango(5, 3) ==> 12 # 4 mangoes for $3 per unit = $12; +1 mango for free +function mango(quantity, price){ + let totalCost = 0; + if (quantity % 3 != 0) { + totalCost = (Math.floor(quantity / 3) * 2 + quantity % 3) * price; + } + else { + totalCost = (quantity / 3) * 2 * price; + } + return totalCost; + + } + + + // Given a set of numbers, return the additive inverse of each. Each positive becomes negatives, and the negatives become positives. + + // invert([1,2,3,4,5]) == [-1,-2,-3,-4,-5] + // invert([1,-2,3,-4,5]) == [-1,2,-3,4,-5] + // invert([]) == [] + // You can assume that all values are integers. Do not mutate the input array/list. + + + function invert(array) { + let negArr = array.map(num => -1 * num); + return negArr; + } + + + + + +// Complete the function that takes a non-negative integer n as input, and returns a list of all the powers of 2 with the exponent ranging from 0 to n ( inclusive ). + +// Examples +// n = 0 ==> [1] # [2^0] +// n = 1 ==> [1, 2] # [2^0, 2^1] +// n = 2 ==> [1, 2, 4] # [2^0, 2^1, 2^2] + +function powersOfTwo(n){ + let powers = []; + for (let i = 0; i <= n; i++) { + powers.push(Math.pow(2, i)); + } + return powers; +} + + +// Given a non-empty array of integers, return the result of multiplying the values together in order. Example: + +// [1, 2, 3, 4] => 1 * 2 * 3 * 4 = 24 +e + + +function grow(x){ + const total = x.reduce((a, b) => a * b); + return total; + + } + + + + + + + + // Summation + // Write a program that finds the summation of every number from 1 to num. The number will always be a positive integer greater than 0. + + // For example (Input -> Output): + + // 2 -> 3 (1 + 2) + // 8 -> 36 (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8) + + var summation = function (num) { + let sum = 0; + for (let i = 1; i <= num; i++) { + sum += i; + } + return sum; + } + + + + + // Your task is to make two functions ( max and min, or maximum and minimum, etc., depending on the language ) that receive a list of integers as input, and return the largest and lowest number in that list, respectively. + + // Examples (Input -> Output) + // * [4,6,2,1,9,63,-134,566] -> max = 566, min = -134 + // * [-52, 56, 30, 29, -54, 0, -110] -> min = -110, max = 56 + // * [42, 54, 65, 87, 0] -> min = 0, max = 87 + // * [5] -> min = 5, max = 5 + +var min = function(list){ + return Math.min(...list); + } + +var max = function(list){ + + return Math.max(...list); +} + + + + +// In this simple exercise, you will create a program that will take two lists of integers, a and b. Each list will consist of 3 positive integers above 0, representing the dimensions of cuboids a and b. You must find the difference of the cuboids' volumes regardless of which is bigger. + +// For example, if the parameters passed are ([2, 2, 3], [5, 4, 1]), the volume of a is 12 and the volume of b is 20. Therefore, the function should return 8. + +// Your function will be tested with pre-made examples as well as random ones. + +// If you can, try writing it in one line of code. + + + +function findDifference(a, b) { + let volumeA = a[0] * a[1] * a[2]; + let volumeB = b[0] * b[1] * b[2]; + const difference = Math.abs(volumeA - volumeB); + return difference; +} + + +const person = { + nickname: " John", + last: "Cray", + age: 30, +} +for (let key in person) { + console.log(key + ":" + person[key]) +} + + + + + + +const person = { + nickname: "John", + lastname: "Cray", + age: 30, +} +for (let key in person) { + alert(key + ":" + person[key]); +} + + + + + + + + +indexOf(str, pos) +const str = "Hello world"; +console.log(str.indexOf("o")) + + + + + + + + +let x; +console.log(x); + +let x = null; +console.log(x); \ No newline at end of file diff --git a/_mobile.scss b/_mobile.scss index 2f15a2f..302bd35 100644 --- a/_mobile.scss +++ b/_mobile.scss @@ -1,4 +1,4 @@ -@media (max-width: 767px) { +@media (max-width: 768px) { .center { padding-left: 16px; padding-right: 16px; @@ -73,11 +73,11 @@ font-size: 14px; line-height: 22px; } - .footer____game-1 { + .footer__game-1 { display: flex; flex-direction: column; } - .footer____game-2 { + .footer__game-2 { display: flex; flex-direction: column-reverse; } diff --git a/calculator.css b/calculator.css new file mode 100644 index 0000000..5597ac3 --- /dev/null +++ b/calculator.css @@ -0,0 +1,36 @@ +.calculator { + width: 300px; + margin: auto; +} +input { + width: 100%; + border: none; + background-color: #0d0d0d; + color: #fff; + padding: 20px; + font-size: 25px; + text-align: right; +} +table { + margin-top: 10px; + border-collapse: collapse; + width: 100%; +} +button { + width: 100%; + padding: 10px; + background-color: #fff; + color: #262626; + border: none; + font-size: 20px; + cursor: pointer; +} +button:hover { + background-color: #0d0d0d; + color: #fff; + transition: 0.5s; +} +button#equal-sign { + background-color: #f1b21c; + color: #260b01; +} diff --git a/calculator.html b/calculator.html new file mode 100644 index 0000000..56ff564 --- /dev/null +++ b/calculator.html @@ -0,0 +1,52 @@ + + + + + Calculator App + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + diff --git a/game1script.js b/game1script.js new file mode 100644 index 0000000..e69de29 diff --git a/game2script.js b/game2script.js new file mode 100644 index 0000000..754bc3f --- /dev/null +++ b/game2script.js @@ -0,0 +1,29 @@ +function wordsGame() { + let arr = [ + "Яблоко", + "Груша", + "Дыня", + "Виноград", + "Персик", + "Апельсин", + "Мандарин", + ]; + arr = arr.sort(() => Math.random() - 0.5); + alert(arr); + let userAnswer1 = prompt("Чему равнялся первый элемент массива?"); + let userAnswer2 = prompt("Чему равнялся первый элемент массива?"); + if ( + userAnswer1.toLowerCase() == arr[0].toLowerCase() && + userAnswer2.toLowerCase() == arr[6].toLowerCase() + ) { + alert("Поздравляем, Вы угадили!"); + } else if ( + userAnswer1.toLowerCase() == arr[0].toLowerCase() || + userAnswer2.toLowerCase() == arr[6].toLowerCase() + ) { + alert("Вы были близки к победе!"); + } else { + alert("Все ответы неверные"); + } +} +wordsGame(); diff --git a/hw3script.js b/hw3script.js index 75e2dcd..42715b1 100644 --- a/hw3script.js +++ b/hw3script.js @@ -1,156 +1,156 @@ -// Exercise 1 -//let password = String(prompt("Введите пароль")); -//if (password === "alright") { -// alert("Пароль введен верно"); -//} else { -// alert("Пароль введен неправильно"); -//} -// Exercise 2 -// let c = 2; -// if (c > 0 && c < 10) { -// alert("Верно"); -// } else { -// alert("Неверно"); -// } -// Exercise 3 -//let d = 10; -//let e = 90; -//if (d > 100 || e > 100) { -// alert("Верно"); -//} else { -// alert("Неверно"); -//} -// Exercise 4 -//let a = "2"; -//let b = "3"; -//alert(a + b); -//alert(Number(a) + Number(b)); -// Exercise 5 -// let month = String(prompt("Введите номер месяца")); -// switch (month) { -// case "1": -// alert("Winter"); -// break; -// case "2": -// alert("Winter"); -// break; -// case "3": -// alert("Spring"); -// break; -// case "4": -// alert("Spring"); -// break; -// case "5": -// alert("Spring"); -// break; -// case "6": -// alert("Summer"); -// break; -// case "7": -// alert("Summer"); -// break; -// case "8": -// alert("Summer"); -// break; -// case "9": -// alert("Autumn"); -// break; -// case "10": -// alert("Autumn"); -// break; -// case "11": -// alert("Autumn"); -// break; -// case "12": -// alert("Winter"); -// break; +Exercise 1 +let password = String(prompt("Введите пароль")); +if (password === "alright") { + alert("Пароль введен верно"); +} else { + alert("Пароль введен неправильно"); +} +Exercise 2 +let c = 2; +if (c > 0 && c < 10) { + alert("Верно"); +} else { + alert("Неверно"); +} +Exercise 3 +let d = 10; +let e = 90; +if (d > 100 || e > 100) { + alert("Верно"); +} else { + alert("Неверно"); +} +Exercise 4 +let a = "2"; +let b = "3"; +alert(a + b); +alert(Number(a) + Number(b)); +Exercise 5 +let month = String(prompt("Введите номер месяца")); +switch (month) { + case "1": + alert("Winter"); + break; + case "2": + alert("Winter"); + break; + case "3": + alert("Spring"); + break; + case "4": + alert("Spring"); + break; + case "5": + alert("Spring"); + break; + case "6": + alert("Summer"); + break; + case "7": + alert("Summer"); + break; + case "8": + alert("Summer"); + break; + case "9": + alert("Autumn"); + break; + case "10": + alert("Autumn"); + break; + case "11": + alert("Autumn"); + break; + case "12": + alert("Winter"); + break; -// default: -// alert("Такого месяца нет"); -// break; -// } -// Exercise 7 -// let num = Number(prompt("Пожалуйста, введите любое число")); -// const isNumeric = (num) => !isNaN(num); -// if (num % 2 === 0) { -// alert("Четное число"); -// } else if (num % 1 === 0) { -// alert("Нечетное число"); -// } else { -// alert("Введите число"); -// } -// Exercise 8 -// let clientOS = Number(prompt("Если Ваша операционная система IOS введите 0")); -// clientOS === 0 -// ? alert("Установите версию приложения для iOS по ссылке") -// : alert("Установите версию приложения для Android по ссылке"); -// Exercise 9 -// let year = prompt("Какого года выпуска Ваш телефон?"); -// let clientOS = prompt("Если Ваша операционная система IOS введите 0"); -// if (year < 2015 && clientOS == 0) { -// alert("Установите облегченную версию приложения для iOS по ссылке"); -// } else if (year >= 2015 && clientOS == 0) { -// alert("Установите версию приложения для iOS по ссылке"); -// } else if (year >= 2015 && clientOS !== 0) { -// alert("Установите версию приложения для Android по ссылке"); -// } else { -// alert("Установите облегченную версию приложения для Android по ссылке"); -// } -// { -// } -// { -// } -// Exercise 1 -// let i = 0; + default: + alert("Такого месяца нет"); + break; +} +Exercise 7 +let num = Number(prompt("Пожалуйста, введите любое число")); +const isNumeric = (num) => !isNaN(num); +if (num % 2 === 0) { + alert("Четное число"); +} else if (num % 1 === 0) { + alert("Нечетное число"); +} else { + alert("Введите число"); +} +Exercise 8 +let clientOS = Number(prompt("Если Ваша операционная система IOS введите 0")); +clientOS === 0 + ? alert("Установите версию приложения для iOS по ссылке") + : alert("Установите версию приложения для Android по ссылке"); +Exercise 9 +let year = prompt("Какого года выпуска Ваш телефон?"); +let clientOS = prompt("Если Ваша операционная система IOS введите 0"); +if (year < 2015 && clientOS == 0) { + alert("Установите облегченную версию приложения для iOS по ссылке"); +} else if (year >= 2015 && clientOS == 0) { + alert("Установите версию приложения для iOS по ссылке"); +} else if (year >= 2015 && clientOS !== 0) { + alert("Установите версию приложения для Android по ссылке"); +} else { + alert("Установите облегченную версию приложения для Android по ссылке"); +} +{ +} +{ +} +Exercise 1 +let i = 0; -// while (i < 2) { -// alert("Привет"); +while (i < 2) { + alert("Привет"); -// i++; -// } -// Exercise 2 -// let i = 1; + i++; +} +Exercise 2 +let i = 1; -// while (i <= 5) { -// alert(i); +while (i <= 5) { + alert(i); -// i++; -// } -// Exercise 3 -// let i = 7; + i++; +} +Exercise 3 +let i = 7; -// while (i <= 22) { -// alert(i); +while (i <= 22) { + alert(i); -// i++; -// } -// Exercise 4 -// const obj = { -// Коля: 200, -// Вася: 300, -// Петя: 400, -// }; + i++; +} +Exercise 4 +const obj = { + Коля: 200, + Вася: 300, + Петя: 400, +}; -// for (const salary in obj) { -// alert(salary + " — зарплата " + obj[salary] + " долларов"); -// } -// Exercise 5 -// let n = 1000; -// let num = 0; +for (const salary in obj) { + alert(salary + " — зарплата " + obj[salary] + " долларов"); +} +Exercise 5 +let n = 1000; +let num = 0; -// do { -// n / 2; -// num++; -// alert(n); -// } while (n < 50); +do { + n / 2; + num++; + alert(n); +} while (n < 50); -// alert("Iterated " + num + " times!"); -// Exercise 5 -// let n = 1000; -// let num = 0; -// for (n, num; n >= 50; num++) { -// n = n / 2; -// alert(num); -// } -// alert("Iterated " + num + " times!"); -// Exercise 6 +alert("Iterated " + num + " times!"); +Exercise 5 +let n = 1000; +let num = 0; +for (n, num; n >= 50; num++) { + n = n / 2; + alert(num); +} +alert("Iterated " + num + " times!"); +Exercise 6 diff --git a/hw4script.js b/hw4script.js index c108a29..7ad79fb 100644 --- a/hw4script.js +++ b/hw4script.js @@ -1,61 +1,79 @@ -// Exercise 1 -// let i = 0; +Exercise 1 +let i = 0; -// while (i < 2) { -// alert("Привет"); +while (i < 2) { + alert("Привет"); -// i++; -// } -// Exercise 2 -// let i = 1; + i++; +} +Exercise 2 +let i = 1; -// while (i <= 5) { -// alert(i); +while (i <= 5) { + alert(i); -// i++; -// } -// Exercise 3 -// let i = 7; + i++; +} +Exercise 3 +let i = 7; -// while (i <= 22) { -// alert(i); +while (i <= 22) { + alert(i); -// i++; -// } -// Exercise 4 -// const obj = { -// Коля: 200, -// Вася: 300, -// Петя: 400, -// }; - -// for (const salary in obj) { -// alert(salary + " — зарплата " + obj[salary] + " долларов"); + i++; +} +Exercise 4 +const obj = { + Коля: 200, + Вася: 300, + Петя: 400, +}; + +for (const salary in obj) { + alert(salary + " — зарплата " + obj[salary] + " долларов"); // } // Exercise 5 Можно ли с помощью этого цикла сделать? -// let n = 1000; -// let num = 0; - -// do { -// n / 2; -// num++; -// alert(n); -// } while (n < 50); - -// alert("Iterated " + num + " times!"); -// Exercise 5 -// let n = 1000; -// let num = 0; -// for (let n = 1000, num = 0; n <= 50; num++) { -// n / 2; -// alert(num); -// } -// alert("Iterated " + num + " times!"); -// Exercise 6 +let n = 1000; +let num = 0; + +do { + n / 2; + num++; + alert(n); +} while (n < 50); + +alert("Iterated " + num + " times!"); +Exercise 5 +let n = 1000; +let num = 0; +for (let n = 1000, num = 0; n <= 50; num++) { + n / 2; + alert(num); +} +alert("Iterated " + num + " times!"); +Exercise 6 let day = 5; for (let day = 5; day <= 31; day += 7) { - // почему +=? почему +=7 не в фигурных скобках? + // почему +=? почему +=7 не в фигурных скобках??? alert( "Сегодня пятница, " + day + " -е число. Необходимо подготовить отчет.!" ); } + +Exercise 7 +const obj = { + Але: "ша", + Гри: "ша", + Ди: "ма", +}; +for (const capital in obj) { + alert(capital + "- это " + obj[capital]); +} +const obj = { + Baby: "Boss", + Art: "Museum", + Assassin: "creed Brotherhood", +}; +for (const game in obj) { + alert(game + "'S " + obj[game]); +} diff --git a/hw5script.js b/hw5script.js new file mode 100644 index 0000000..60cfc0f --- /dev/null +++ b/hw5script.js @@ -0,0 +1,144 @@ +// Exercise 1 +const least = (a, b) => { + if (a < b) { + return a; + } else { + return b; + } +}; +console.log(least(4, 8)); +console.log(least(6, 6)); +// or +function min(a, b) { + return a < b ? a : b; +} +console.log(min(4, 8)); +// Exercise 2 +const evenNum = (a) => { + if (a % 2 == 0) { + return "Четное число"; + } else { + return "Нечетное число"; + } + // Как сделать с prompt? +}; +alert(evenNum(7)); +or + +let number = prompt("Введите число"); + +if (number % 2 == 0) { + function evenNum() { + alert("Четное число"); + } +} else { + function evenNum() { + alert("Нечетное число"); + } +} +evenNum(); +// or +function evenNum(a) { + return a % 2 == 0 ? "Четное число" : "Нечетное число"; +} +alert(evenNum(7)); +// Exercise 3.2 +const squareNum = (a) => { + let result = a ** 2; + return result; +}; +console.log(squareNum(3)); +// Exercise 3.1 +let number = prompt("Введите число"); +function squareNum(a) { + return a ** 2; +} +alert(squareNum(Number)); +// Exercise 4 +let age = prompt("Сколько Вам лет?"); +if (age < 0) { + function printMessage() { + alert("Вы ввели неправильное значение"); + } +} else if (age < 12) { + function printMessage() { + alert("Привет, друг!"); + } +} else { + function printMessage() { + alert("Добро пожаловать!"); + } +} +{ +} +printMessage(); +// Exercise 5 +const mult = (a, b) => { + if (isNaN(a) || isNaN(b)) { + return "Одно или оба значения не являются числом"; + } + let result = a * b; + return result; +}; +alert(mult(prompt("Введите первое число"), prompt("Введите второе число"))); + +// // Exercise 6 +const mult = (a) => { + if (isNaN(a)) { + return "Значение не является числом"; + } + let result = a ** 3; + return result; +}; +alert(mult(prompt("Введите первое число"))); +// Exercise 7 +function getСircleArea() { + return this.radius ** 2 * Math.PI; +} +function getСirclePerimeter() { + return this.radius * 2 * Math.PI; +} + +const circle1 = { + radius: 3, + + getArea: getСircleArea, + getPerimeter: getСirclePerimeter, +}; + +const circle2 = { + radius: 7, + + getArea: getСircleArea, + getPerimeter: getСirclePerimeter, +}; + +alert(circle1.getArea()); +alert(circle1.getPerimeter()); +alert(circle2.getArea()); +alert(circle2.getPerimeter()); +// Exercise 8 +const season = (a) => { + if (isNaN(a)) { + return "Вы ввели не число"; + } + if (a == 12 || (a >= 1 && a <= 2)) { + // Ошибка в синтаксисе? Не видит число 12 + return "Зима"; + } else if (a >= 3 && a <= 5) { + return "Весна"; + } else if (a >= 6 && a <= 8) { + return "Лето"; + } else if (a >= 9 && a <= 11) { + return "Осень"; + } else { + return "Такого месяца не существует"; + } + { + } + { + } + { + } +}; +alert(season(prompt("Введите номер месяца"))); diff --git a/hw6script.js b/hw6script.js new file mode 100644 index 0000000..fd8dd26 --- /dev/null +++ b/hw6script.js @@ -0,0 +1,110 @@ +const newspaper = { + sports: { + title: "ARod Hits Home Run", + writers: ["Miramon Nuevo", "Rick Reilly", "Woddy Paige"], + }, + business: { + title: "GE Stock Dips Again", + writers: ["Adam Smith", "Albert Humphrey", "Charles Handy"], + }, + movies: { + title: "Superman Is A Flop", + writers: ["Rogert Ebert", "Andrew Sarris", "Wesley Morris"], + }, +}; +newspaper.sports.title; +newspaper.business.writers[0]; +newspaper.movies.writers[1]; +// Exersice 1 +const numbers = [1, 5, 4, 10, 0, 3]; + +for (let i = 0; i < numbers.length; i++) { + alert(numbers[i]); + if (numbers[i] === 10) break; + +} + +// Exersice 2 +const numbers = [1, 5, 4, 10, 0, 3]; +alert(numbers.indexOf(4)); +// Exersice 3 +let numbers = [1, 3, 5, 10, 20]; +numbers = numbers.join(" "); +alert(numbers); +// Exersice 4 + +const arr = []; +for (let i = 0; i < 3; i++) { + arr[i] = []; + for (let a = 0; a < 3; a++) { + arr[i][a] = 1; + } +} +alert(arr); +// Exersice 5 +let numbers = [1, 1, 1]; +numbers.push(2, 2, 2); +alert(numbers); +// Exercise 6 +let arrNum = [9, 8, 7, "a", 6, 5]; +arrNum = arrNum.sort(); +arrNum.pop(); +alert(arrNum); +// Exersice 7 +const numbers = [9, 8, 7, 6, 5]; +let num = Number(prompt("Пожалуйста, введите любое число")); +let search = numbers.includes(num); +alert(numbers.includes(num)); +// Exersice 8 +let letters = "abcdef"; +letters = letters.split(""); +letters.sort(); +letters.reverse(); +letters = letters.join(" "); +alert(letters); +// Exersice 9 +let arrNum = [ + [1, 2, 3], + [4, 5, 6], +]; +for (let item of arrNum) { + item = item.join(" "); +} +alert(arrNum); +// Exersice 10 +const arr = [9, 8, 7, 6, 5]; +for (let i = 0; i < arr.length - 1; i++) { + alert(arr[i] + arr[i + 1]); +} +// Exersice 11 +const num = [ + prompt("Пожалуйста, введите любое число"), + prompt("Пожалуйста, введите любое число"), + prompt("Пожалуйста, введите любое число"), + prompt("Пожалуйста, введите любое число"), +]; +const squareNum = num.map((el) => el ** 2); +alert(squareNum); +// Exersice 12 +function getLengthWords(words) { + return words.map((item) => item.length); +} +alert(getLengthWords(prompt("Введите слово"))); +// Exersice 13 +function filterPositive(array) { + return array.filter((el) => el > 0); +} + +filterPositive([-1, 0, 5, -10, 56]); // => [-1, -10] +filterPositive([-25, 25, 0, -1000, -2]); // => [-25, -1000, -2] +// Exersice 14 +const arr = [...Array(10)].map((e) => ~~(Math.random() * 10)); +const evenNum = arr.filter((el) => el % 2 == 0); +alert(evenNum); +alert(arr); +// Exersice 15 + +const average = (arr) => arr.reduce((a, b) => a + b, 0) / arr.length; +const result = average([...Array(6)].map((e) => ~~(Math.random() * 6))); +alert(result); +alert(average); diff --git a/hw7script.js b/hw7script.js new file mode 100644 index 0000000..7fbae94 --- /dev/null +++ b/hw7script.js @@ -0,0 +1,201 @@ +// Exrecise 1 +let str = "js"; +alert(str.toLocaleUpperCase()); +// Exrecise 2 +function searchStart(arr, subString) { + arr.forEach((element) => { + if (element.toLowerCase().startsWith(subString.toLowerCase())) { + alert(element); + } + }); + return null; +} +const animals = ["Кошка", "Кит", "Комар", "Носорог"]; +const products = ["яблоко", "груша", "гриб", "огурец"]; +const buildings = ["Дом", "Банк", "Больница", "Театр"]; + +// можно ли сделать одну функцию для всего массива? + +searchStart(["Кошка", "Кит", "Комар", "Носорог"], "ко"); // ['кошка', 'комар'] +searchStart(["яблоко", "груша", "гриб", "огурец"], "гру"); // ['груша'] +searchStart(["Дом", "Банк", "Больница", "Театр"], "Кино"); // [] + +// ================================================== + +const animals = ["Кошка", "Кит", "Комар", "Носорог"]; +const search = "ко"; + +animals.forEach((animal) => { + if (animal.toLowerCase().startsWith(search.toLowerCase())) { + alert(animal); + } +}); + +const products = ["яблоко", "груша", "гриб", "огурец"]; +const search = "гру"; + +products.forEach((product) => { + if (product.toLowerCase().startsWith(search.toLowerCase())) { + alert(product); + } +}); + +const buildings = ["Дом", "Банк", "Больница", "Театр"]; +const search = "Кино"; + +buildings.forEach((building) => { + if (building.toLowerCase().startsWith(search.toLowerCase())) { + alert(building); + } +}); +// Exrecise 3 +alert(Math.floor(32.58884)); +alert(Math.ceil(32.58884)); +alert(Math.round(32.58884)); +// Exrecise 4 +const arr = [52, 53, 49, 77, 21, 32]; +alert(Math.min(...arr)); +alert(Math.max(...arr)); +// Exrecise 5 +function randomNum() { + alert(Math.round(Math.random() * 10)); +} +// Exrecise 6 Проверьте пожалуйста суждение +function getRandomArrNumbers(num) { + // создаю функцию, которая на входе принимает целое число + const arr = []; + // создаю пустой массив куда будут приходить параметры после вызова функции + const length = num / 2; + // создаю переменную, которая будет отвечать за длину массива + for (let i = 0; i < length; i++) { + // задаю условия для прогрессирующей функции + arr.push(Math.floor(Math.random() * num)); + // с помощью метода push добавляем в массив новое значение сгенерированное методом random и округляем его + } + return arr; + // возвращаем уже новый массив +} + +const randomArray = getRandomArrNumbers(7); +alert(randomArray); +// Exrecise 7 +function getTwoNumbers(minValue, maxValue) { + return Math.round(Math.random() * (maxValue - minValue)); +} +alert(getTwoNumbers(2, 5)); +// Exrecise 8 +const days = [ + "Воскресенье", + "Понедельник", + "Вторник", + "Среда", + "Четверг", + "Пятница", + "Суббота", +]; +const months = [ + "Январь", + "Февраль", + "Март", + "Апрель", + "Май", + "Июнь", + "Июль", + "Август", + "Сентябрь", + "Октябрь", + "Ноябрь", + "Декабрь", +]; + +let myDate = new Date(); +let fullDate = + "Сегодня: " + + myDate.getDate() + + " " + + months[myDate.getMonth()] + + " " + + myDate.getFullYear() + + ", " + + days[myDate.getDay()]; + +alert(fullDate); +// Exrecise 9 +let days = 73; +let day = new Date(); +day.setDate(day.getDate() + +days); +alert("через " + days + " дней, будет " + day); +// Exrecise 10 +const days = [ + "Воскресенье", + "Понедельник", + "Вторник", + "Среда", + "Четверг", + "Пятница", + "Суббота", +]; +const months = [ + "Январь", + "Февраль", + "Март", + "Апрель", + "Май", + "Июнь", + "Июль", + "Август", + "Сентябрь", + "Октябрь", + "Ноябрь", + "Декабрь", +]; +let myDate = new Date(); +let fullDate = + "Сегодня: " + + myDate.getDate() + + " " + + months[myDate.getMonth()] + + ", " + + days[myDate.getDay()]; + +alert( + fullDate + + " " + + myDate.getHours() + + ":" + + myDate.getMinutes() + + ":" + + myDate.getSeconds() +); +// Exrecise 11 +function wordsGame() { + let arr = [ + "Яблоко", + "Груша", + "Дыня", + "Виноград", + "Персик", + "Апельсин", + "Мандарин", + ]; + arr = arr.sort(() => Math.random() - 0.5); + alert(arr); + // как добавить пробел в alert arr, чтобы при этом ответы можно было вводить без пробела? + let userAnswer1 = prompt("Чему равнялся первый элемент массива?"); + let userAnswer2 = prompt("Чему равнялся первый элемент массива?"); + if ( + userAnswer1.toLowerCase() == arr[0].toLowerCase() && + userAnswer2.toLowerCase() == arr[6].toLowerCase() + ) { + alert("Поздравляем, Вы угадили!"); + } else if ( + userAnswer1.toLowerCase() == arr[0].toLowerCase() || + userAnswer2.toLowerCase() == arr[6].toLowerCase() + ) { + alert("Вы были близки к победе!"); + } else { + alert("Все ответы неверные"); + } +} +wordsGame(); +// что нужно сделать, чтобы при перезагрузке скрипт не срабатывал? А работал только при клике diff --git a/hw8script.js b/hw8script.js new file mode 100644 index 0000000..1b3baca --- /dev/null +++ b/hw8script.js @@ -0,0 +1,139 @@ +const fibonacci = [1, 1, 2, 3, 5, 8]; + +// TODO: Допишите код, чтобы в консоль ниже выводились правильные значения +// Используйте метод map, чтобы получить массив fibonacci, в котором все числа умножены на 2 +const multipleByTwoFib = fibonacci.map((el) => el * 2); +// Используйте метод map, чтобы получить массив fibonacci, в котором к каждому числу добавили 10 +const plusTenFib = fibonacci.map((el) => el + 10); +// Используйте метод filter, чтобы получить массив, в который входят числа Фибоначчи больше 3 +const onlyBigFib = fibonacci.filter((el) => el > 3); + +alert(multipleByTwoFib); // => [2, 2, 4, 6, 10, 16] +alert(plusTenFib); // => [11, 11, 12, 13, 15, 18] +alert(onlyBigFib); // => [5, 8] + +function callbackWithArrayLength(arr, callback) { + callback(arr.length); +} + +callbackWithArrayLength([1], (length) => { + alert(length); +}); + +callbackWithArrayLength([1, 1], (len) => { + alert(len); +}); +callbackWithArrayLength([1, 1, 1, 1, 1], (l) => { + alert(l); +}); + +function log(arrItem) { + alert("Элемент массива:", arrItem); +} + +function each(arr, callback) { + for (let i = 0; i < arr.length; i++) { + callback(arr[i]); + } +} + +each(["Глеб", "Олег", "Татьяна", "Платон"], log); + +// Homework8 +// Exersice 1 +const people = [ + { name: "Глеб", age: 29 }, + { name: "Анна", age: 17 }, + { name: "Олег", age: 7 }, + { name: "Оксана", age: 47 }, +]; + +people.sort(function (eld, young) { + return eld.age - young.age; + // alert(people.sort(function (eld, young) { + // return eld.age - young.age;) + // почему без alert работет как нужно, а с alert нет? +}); +// Exersice 2 +function isPositive(num) { + return num > 0; +} +function isMale(person) { + return person.gender == "male"; +} +function filter(arr, ruleFunction) { + const output = []; + arr.map((el) => { + if (ruleFunction(el)) { + output.push(el); + } + }); + return output; +} + +console.log(filter([3, -4, 1, 9], isPositive)); // Должен выводить [3, 1, 9] + +const people = [ + { name: "Глеб", gender: "male" }, + { name: "Анна", gender: "female" }, + { name: "Олег", gender: "male" }, + { name: "Оксана", gender: "female" }, +]; + +console.log(filter(people, isMale)); // Должен выводить [{name: 'Глеб', gender: 'male'}, {name: 'Олег', gender: 'male'}] +// Exercise (my test) +// function getEvenNumbers(num) { +// return num % 2 === 0; +// } +// function filter(arr, ruleFunction) { +// const output = []; +// arr.map((el) => { +// if (ruleFunction(el)) { +// output.push(el); +// } +// }); +// return output; +// } +// const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +// const evenNumbers = filter(numbers, getEvenNumbers); +// alert(evenNumbers); +// Exercise 3 +const timer = (deadline) => { + const interval = setInterval(() => { + let myDate = new Date(); + console.log(myDate.toLocaleTimeString()); + }, 3000); + setTimeout(() => { + clearInterval(interval); + console.log("30 секунд прошло"); + }, deadline * 1000); +}; +timer(30); +// Exercise 4 +function delayForSecond(callback) { + setTimeout(function () { + console.log("Привет, Глеб!"); + callback(); + }, 1000); +} + +delayForSecond(function () { + alert("Привет, Глеб!"); +}); +// Exercise 5 + +function delayForSecond(cb) { + setTimeout(() => { + console.log("Прошла одна секунда"); + if (cb) { + cb(); + } + }, 1000); +} + +function sayHi(name) { + console.log(`Привет, ${name}!`); +} + + +delayForSecond(() => sayHi("Глеб")); diff --git a/index.html b/index.html index e87db70..4263716 100644 --- a/index.html +++ b/index.html @@ -41,9 +41,9 @@

-

+ - + diff --git a/script10.js b/script10.js new file mode 100644 index 0000000..a967eeb --- /dev/null +++ b/script10.js @@ -0,0 +1,14 @@ +function buttonPressed(buttonVal) { + document.getElementById("input-box").value += buttonVal; +} + +function calculate() { + var result = 0; + try { + var expression = document.getElementById("input-box").value; + result = eval(expression); + document.getElementById("input-box").value = result; + } catch (err) { + alert("Invalid expression"); + } +} diff --git a/style.css b/style.css index 9880f88..f20006a 100644 --- a/style.css +++ b/style.css @@ -128,6 +128,16 @@ body { padding-bottom: 233px; padding-top: 233px; } +.footer__game-3 { + background-image: url(Images/background_for_games.jpg); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + padding-bottom: 233px; + padding-top: 233px; + padding-left: calc(-50vw + 10%); + padding-right: calc(-50vw + 10%); +} .footer__title { display: flex; flex-direction: column; @@ -157,6 +167,10 @@ body { justify-content: center; align-self: flex-start; } +.footer__form-3 { + display: flex; + justify-content: center; +} .footer__button { width: 234px; @@ -185,7 +199,15 @@ body { border-radius: 30px; } -@media (max-width: 767px) { +.footer__title-3 { + display: flex; + flex-direction: column; + gap: 32px; + justify-content: space-between; + align-items: center; +} + +@media (max-width: 768px) { .center { padding-left: 16px; padding-right: 16px; @@ -260,11 +282,11 @@ body { font-size: 14px; line-height: 22px; } - .footer____game-1 { + .footer__game-1 { display: flex; flex-direction: column; } - .footer____game-2 { + .footer__game-2 { display: flex; flex-direction: column-reverse; } diff --git a/style.css.map b/style.css.map index 9dca2ad..2419761 100644 --- a/style.css.map +++ b/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.scss","style.css","_mobile.scss"],"names":[],"mappings":"AAAA;EACE,SAAA;EACA,UAAA;EACA,sBAAA;ACCF;;ADCA;EACE,qCAAA;ACEF;;ADAA;EACE,cAAA;EACA,+CAAA;EACA,sBAAA;EACA,2BAAA;EACA,4BAAA;ACGF;;ADDA;EACE,+BAAA;EACA,gCAAA;ACIF;;ADFA;EACE,kBAAA;ACKF;;ADHA;EACE,yBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;ACMF;;ADJA;EACE,yBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;EACA,gBAAA;ACOF;;ADJA;EACE,YAAA;EACA,YAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,gBAAA;ACOF;;ADLA;EACE,yBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;EACA,qBAAA;ACQF;;ADNA;EACE,iBAAA;ACSF;;ADPA;EACE,YAAA;EACA,aAAA;EACA,SAAA;EACA,sCAAA;EACA,mBAAA;EACA,kBAAA;EACA,qBAAA;ACUF;;ADRA;EACE,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,aAAA;EACA,2BAAA;EACA,qBAAA;EACA,aAAA;EACA,wEAAA;ACWF;;ADTA;EACE,uCAAA;EACA,4BAAA;ACYF;;ADVA;EACE,uCAAA;EACA,4BAAA;ACaF;;ADXA;EACE,uCAAA;EACA,4BAAA;ACcF;;ADZA;EACE,yBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,qBAAA;EACA,cAAA;ACeF;;ADbA;EACE,yBAAA;ACgBF;ADfE;EACE,aAAA;EACA,UAAA;EACA,qBAAA;EACA,kBAAA;ACiBJ;ADfE;EACE,aAAA;EACA,UAAA;EACA,qBAAA;EACA,kBAAA;ACiBJ;ADfE;EACE,aAAA;EACA,sBAAA;EACA,SAAA;ACiBJ;;ADdA;EACE,yBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;ACiBF;;ADfA;EACE,yBAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,cAAA;ACkBF;;ADhBA;EACE,aAAA;EACA,uBAAA;EACA,sBAAA;ACmBF;;ADjBA;EACE,YAAA;EACA,YAAA;EACA,mBAAA;EACA,sBAAA;EACA,mBAAA;ACoBF;;ADlBA;EACE,YAAA;EACA,aAAA;ACqBF;;ADnBA;EACE,yBAAA;ACsBF;;ADpBA;EACE,mBAAA;EACA,mBAAA;ACuBF;;ADrBA;EACE,mBAAA;EACA,mBAAA;ACwBF;;ACzLA;EACE;IACE,kBAAA;IACA,mBAAA;ED4LF;EC1LA;IACE,aAAA;IACA,+CAAA;IACA,sBAAA;IACA,0BAAA;IACA,4BAAA;ED4LF;EC1LA;IACE,aAAA;ED4LF;EC1LA;IACE,kBAAA;ED4LF;EC1LA;IACE,yBAAA;IACA,kBAAA;IACA,gBAAA;IACA,eAAA;IACA,iBAAA;IACA,kBAAA;ED4LF;EC1LA;IACE,yBAAA;IACA,kBAAA;IACA,gBAAA;IACA,eAAA;IACA,iBAAA;IACA,kBAAA;ED4LF;EC1LA;IACE,YAAA;IACA,YAAA;IACA,gBAAA;ED4LF;EC1LA;IACE,yBAAA;IACA,kBAAA;IACA,gBAAA;IACA,eAAA;IACA,iBAAA;IACA,kBAAA;ED4LF;EC1LA;IACE,aAAA;IACA,uBAAA;ED4LF;EC1LA;IACE,aAAA;ED4LF;EC1LA;IACE,oBAAA;IACA,YAAA;IACA,aAAA;IACA,iBAAA;IACA,kBAAA;ED4LF;EC1LA;IACE,yBAAA;IACA,kBAAA;IACA,gBAAA;IACA,eAAA;IACA,iBAAA;ED4LF;EC1LA;IACE,yBAAA;IACA,kBAAA;IACA,gBAAA;IACA,eAAA;IACA,iBAAA;ED4LF;EC1LA;IACE,aAAA;IACA,sBAAA;ED4LF;EC1LA;IACE,aAAA;IACA,8BAAA;ED4LF;EC1LA;IACE,YAAA;IACA,aAAA;ED4LF;AACF","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.scss","style.css","_mobile.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/style.scss b/style.scss index 6e52ff8..8b3b6e0 100644 --- a/style.scss +++ b/style.scss @@ -112,6 +112,16 @@ body { padding-bottom: 233px; padding-top: 233px; } + &__game-3 { + background-image: url(Images/background_for_games.jpg); + background-size: cover; + background-position: center; + background-repeat: no-repeat; + padding-bottom: 233px; + padding-top: 233px; + padding-left: calc(-50vw + 10%); + padding-right: calc(-50vw + 10%); + } &__title { display: flex; flex-direction: column; @@ -138,6 +148,10 @@ body { display: flex; justify-content: center; align-self: flex-start; + &-3 { + display: flex; + justify-content: center; + } } .footer__button { width: 234px; @@ -161,5 +175,12 @@ body { background: #eb443f; border-radius: 30px; } +.footer__title-3 { + display: flex; + flex-direction: column; + gap: 32px; + justify-content: space-between; + align-items: center; +} @import "mobile";