123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- //html tree
- let body = {
- tagName: 'body',
- subTags: [
- {
- tagName: 'div',
- subTags: [
- {
- tagName: 'span',
- text: 'Enter a data please: '
- },
- {
- tagName: 'br'
- },
- {
- tagName: 'input',
- attrs: {
- type: 'text',
- id: 'name'
- }
- },
- {
- tagName: 'input',
- attrs: {
- type: 'text',
- id: 'surname'
- }
- }
- ]
- },
- {
- tagName: 'div',
- subTags: [
- {
- tagName: 'button',
- attrs: {
- id: 'ok'
- },
- text: 'OK'
- },
- {
- tagName: 'button',
- attrs: {
- id: 'cancel'
- },
- text: 'Cancel'
- },
- ]
- }
- ]
- }
- body.subTags[1].subTags[1].text
- body.subTags[1].subTags[1].attrs.id
- //declarative fields
- // let laptop = {
- // brand: prompt('Enter a brand of the laptop'),
- // type: prompt('Enter a type of the laptop'),
- // model: prompt('Enter a model of the laptop'),
- // ram: +prompt('Enter a ram size of the laptop'),
- // size: prompt('Enter a size of the laptop'),
- // weight: +prompt('Enter a weight of the laptop'),
- // resolution: {
- // width: +prompt('Enter a display resolution (width) of the laptop'),
- // height: +prompt('Enter a display resolution (height) of the laptop'),
- // },
- // }
- // let phone = {
- // brand: prompt('Enter a brand of the phone'),
- // model: prompt('Enter a model of the phone'),
- // ram: +prompt('Enter a ram size of the phone'),
- // color: prompt('Enter a color of the phone'),
- // }
- // let person = {
- // name: prompt('Enter the person\'s name'),
- // surname: prompt('Enter the person\'s surname'),
- // married: confirm('Is this person married?'),
- // }
- //object links
- // person.laptop = laptop
- // person.smartphone = phone
- // laptop.owner = person
- // phone.owner = person
- //imperative array fill 3
- // let array = []
- // for (let i = 0; i < 3; i++) {
- // array[i] = prompt('?')
- // }
- //while confirm
- // let counter = 0
- // while (!confirm('Нажмите отмена')){
- // counter++
- // if (counter == 5) {
- // alert('Еще не надоело?')
- // }
- // };
- //array fill
- // let zoo = []
- // while(true) {
- // let newAnimal = prompt('Введите название зверушки')
- // if(newAnimal == null) {
- // break;
- // }
- // zoo.push(newAnimal);
- // }
- //array fill nopush
- // let zoo = []
- // let i = 0
- // while(true) {
- // let newAnimal = prompt('Введите название зверушки')
- // if(newAnimal == null) {
- // break;
- // }
- // zoo[i] = newAnimal
- // i++
- // }
- //infinite probability
- // let counter = 0
- // while (true) {
- // counter++
- // if (Math.random() > 0.9) {
- // alert(counter)
- // break
- // }
- // }
- //empty loop
- // while (prompt('Скинь сотку на карту плез') == null);
- //progression sum
- // let n = +prompt('До какого числа хотите считать?')
- // let sum = 0
- // for (let i = 1; i < n; i += 3) {
- // sum += i;
- // }
- // alert(sum)
- //chess one line
- // let length = prompt ('Укажите длину строки пожалуйста прошу вас')
- // let line = '';
- // for (let i = 0; i < length; i++) {
- // if (i % 2 == 0) {
- // line += ' '
- // } else {
- // line += '#'
- // }
- // }
- // console.log(`"${line}"`)
- //numbers
- // let string = ''
- // for (let i = 0; i < 10; i++) {
- // for (let j = 0; j < 10; j++) {
- // string += j
- // }
- // string += '\n'
- // }
- //chess
- // let length = +prompt ('Укажите размер поля (x)')
- // let height = +prompt ('Укажите размер поля (y)')
- // let line = '';
- // for (let i = 0; i < height; i++ ) {
- // for (let j = 0; j < length; j++) {
- // if (i % 2 == 0) {
- // if (j % 2 == 0) {
- // line += '.'
- // } else {
- // line += '#'
- // }
- // } else {
- // if (j % 2 == 0) {
- // line += '#'
- // } else {
- // line += '.'
- // }
- // }
- // }
- // line += '\n'
- // }
- // console.log(line)
- //cubes
- // let n = +prompt('Сколько элементов в массиве?')
- // let arr = [];
- // for (let i = 0; i < n; i++) {
- // arr[i] = i**3
- // }
- //multiply table
- let multiplyTable = []
- for (let i = 0; i <=10; i++) {
- multiplyTable[i] = []
- for (let j = 0; j <=10; j++) {
- multiplyTable[i][j] = i * j
- }
- }
- //matrix to html table
- document.write('<table>')
- for (let i = 0; i < multiplyTable.length; i++) {
- document.write('<tr>')
- if (i == 0) {
- document.write ('<td>⛧</td>')
- } else {
- document.write('<td>' + i + '</td>')
- }
- for (let j = 1; j < multiplyTable[i].length; j++) {
- if (i == 0) {
- document.write('<td>' + multiplyTable[1][j] + '</td>')
- } else {
- document.write('<td>' + multiplyTable[i][j] + '</td>')
- }
- }
- document.write('</tr>')
- }
- document.write('</table>')
- //Задание на синий пояс: Треугольник
- let triangleHeight = +prompt('Высота треугольника: ')
- let triangle = ''
- for (let i = 0; i < triangleHeight; i ++) {
- let row = ''
- let dot = ''
- let hash = ''
- for (let j = triangleHeight - (i + 1); j > 0; j--) {
- dot += '.'
- }
- for (let j = 0; j < 2 * i + 1; j++) {
- hash += '#'
- }
- row += (dot + hash + dot + '\n')
- triangle += row;
- }
- console.log(triangle)
- //Задание на черный пояс: Электронная гадалка
- //комментарии пишу чисто для себя, чтобы не запутаться
- let predictArray = [];
- for (let f = 0; f <=1; f++) {
- predictArray[f] = [];
- for (let u = 0; u <= 1; u++) {
- predictArray[f][u] = [];
- for (let c = 0; c <= 1; c++) {
- predictArray[f][u][c] = [];
- for (let k = 0; k <= 1; k++) {
- predictArray[f][u][c][k] = -1;
- }
- }
- }
- }
- let history = [1, 1, 1, 1,]
- let points = 0;
- let counter = 0;
- while (true) {
- //Делаем предсказание, выводим его в консоль
- if (predictArray[history[0]][history[1]][history[2]][history[3]] === -1) {
- console.log('Предсказание гадалки: ' + (predictArray[history[0]][history[1]][history[2]][history[3]] = Math.round(Math.random())))
- } else {
- console.log('Предсказание гадалки: ' + predictArray[history[0]][history[1]][history[2]][history[3]])
- }
- //просим пользователя сделать его ход и выводим в консоль
- let userNumber = prompt('Введите 0 или 1')
- if (userNumber === null || userNumber === '') {
- break
- }
- console.log('Ввод пользователя: ' + userNumber)
- counter++
- //если предсказание было правдивым, то отнимаем очки у пользователя
- if (predictArray[history[0]][history[1]][history[2]][history[3]] == userNumber) {
- points--
- } else {
- points++
- }
- alert('Ваш счёт: ' + points)
- //записываем ввод пользователя в массив предсказаний и в историю
- predictArray[history[0]][history[1]][history[2]][history[3]] = +userNumber
- history.shift()
- history.push(+userNumber)
- }
- //выводим кол-во набранных (ну или потерянных) очков и кол-во ходов
- alert('Количество ходов: ' + counter + '. Ваш счёт: ' + points)
|