Skip to content

Commit ff8ca1e

Browse files
committed
[PW-9.7/ret] Add README.md file
Adding functional, structural description for this proj (what/how). Worth noting: - that this is a realization of the "Tarot cards" game. core: B-3 / JS-BL
1 parent 842e9ab commit ff8ca1e

File tree

1 file changed

+96
-0
lines changed
  • core-courses/3-js-basic-level/9-const-scopes-closures/9-7-pw-9-const-scopes-closures

1 file changed

+96
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Игра "Tarot cards"
2+
3+
### Описание проекта
4+
5+
Данный проект представляет собой браузерную игру "Tarot cards", разработанную для практики работы с замыканиями, областями видимости и `const`. Игрок открывает карточки, находя пары, и стремится завершить игру за минимальное время. В проекте реализованы анимации, звуковые эффекты и система выбора сложности.
6+
7+
[🔗 Демо-версия на GitHub Pages](https://matowdev.github.io/fullstack-js-by-skillbox/core-courses/3-js-basic-level/9-const-scopes-closures/9-7-pw-9-const-scopes-closures/)
8+
9+
---
10+
11+
### Функциональность
12+
13+
- **Выбор размера игрового поля** (4×4, 6×4, 8×4).
14+
- **Перемешивание карт** при начале игры.
15+
- **Выбор и сравнение карт**.
16+
- **Анимация переворота** карт.
17+
- **Звуковые эффекты** (включение/выключение фона).
18+
- **Таймер игры** (возможность включения и выключения).
19+
- **Перезапуск игры** (без перезагрузки страницы).
20+
21+
---
22+
23+
### Используемые технологии и библиотеки
24+
25+
#### Front-end:
26+
27+
- **HTML, CSS, JavaScript** – основные технологии проекта.
28+
- **Tippy.js** – всплывающие подсказки.
29+
- **Popper.js** – управление позиционированием элементов.
30+
- **CSS-анимации и keyframes** – эффекты для карт.
31+
32+
---
33+
34+
### Структура проекта
35+
36+
#### Основные принципы:
37+
38+
- **Структурированный и читаемый код**.
39+
- **Использование замыканий и областей видимости**.
40+
- **Адаптивность игрового поля**.
41+
42+
**Основные файлы и папки:**
43+
44+
```
45+
project-root/
46+
│── css/ # Стили проекта
47+
│── fonts/ # Подключенные шрифты
48+
│── images/ # Графика (карты, задние фоны)
49+
│── js/ # Скрипты игры
50+
│── libs/ # Подключенные библиотеки
51+
│── tracks/ # Аудиофайлы игры
52+
│── index.html # Главная страница игры
53+
│── README.md # Описание проекта
54+
```
55+
56+
---
57+
58+
### Основные файлы и их назначение
59+
60+
#### `index.html`
61+
62+
- Основной HTML-файл с игровым интерфейсом.
63+
- Включает навигацию по игровому полю и кнопки управления.
64+
65+
#### `selectStartGame.js`
66+
67+
- Логика выбора количества карт и запуска игры.
68+
- Обрабатывает клик и навигацию клавишами.
69+
70+
#### `customTippy.js`
71+
72+
- Реализует подсказки с описанием игровых элементов.
73+
74+
#### `footerAudioBtn.js`
75+
76+
- Управляет аудиоплеером (включение/выключение музыки).
77+
78+
#### `infinitePlayback.js`
79+
80+
- Организует бесконечное воспроизведение музыкальных треков.
81+
82+
---
83+
84+
### Запуск проекта
85+
86+
#### Открытие локально:
87+
88+
```sh
89+
open index.html
90+
```
91+
92+
---
93+
94+
### Заключение
95+
96+
Этот проект демонстрирует работу с JavaScript в интерактивной среде. Он помогает закрепить навыки работы с событиями, анимациями, областями видимости и динамическим взаимодействием с DOM.

0 commit comments

Comments
 (0)