Skip to content

Instantly share code, notes, and snippets.

@vvscode
Last active October 4, 2020 14:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vvscode/941862ec9c34373a7533cd1696d66c2d to your computer and use it in GitHub Desktop.
Save vvscode/941862ec9c34373a7533cd1696d66c2d to your computer and use it in GitHub Desktop.
# Заметки по операциям, для реализации игры "Жизнь"

Заметки по операциям, для реализации игры "Жизнь"

Работа с массивами

Создать массив

const arr1 = [];
const arr2 = [1, 2, 3];

Добавить элемент в массив

const arr1.push("hello");

Прочитать значение в массиве по индексу

arr1[1]

Записать / изменить значение в массиве по индексу

arr1[2] = 98;

Пройти по всем элементам массива

for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

Создать новый массив на основе существующего

[1, 2, 3].map((el) => el * 2) // [2, 4, 6]

Работа с DOM-элементами

Найти элемент

const el1 = document.querySelector('div.class-name');
const el2 = document.getElementById('element2');

Поменять внутренности элемента

el.innerHTML = '<h1>Hello, world</h1>';

Реагировать на клики по элементу

el.addEventListener('click', (ev) => {
  console.log('Element was clicked');
});

Поменять текст элемента

el.innerText = 'Hello';

Прочитать атрибут элемента

el.getAttribute('attribute-name');

Записать атрибут элемента

el.setAttribute('attribute-name', 'Hola');

Работа с таймерами

Запустить выполнение задачи через интервал

let timer = setInterval(() => {
  console.log('Выполнить каждую секунду');
}, 1000);

Остановить выполнение задачи через интервал

// let timer = setInterval(() => {
//   console.log('Выполнить каждую секунду');
// }, 1000);
clearInterval(timer);

Игра "Жизнь"

Проект для знакомства с базовыми процессами разработки приложений.

Правила игры можно найти здесь - Игра Жизнь

Создать приложение, которое отображает

  • поле (прямоугольник с живыми/мертвыми клетками)
  • кнопку старт/стоп

При клике по ячейкам поля они меняют свое состояние (живая/мертва) и поле перерисовывается.

При нажатии на кнопку "Cтарт" - запускается цикл игры, который по таймеру пересчитывает и перерисовывает поле игры.

При нажатии на кнопку "Стоп" - цикл останавливается.

Если в процессе работы цикла все клетки умирают - цикл останавливается и выводится сообщения "Главный герой повесился с горя".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment