Окей, вот файл README.md
, который описывает ваш проект Тетрис:
# Тетрис на TypeScript для Vercel 🎮
Это классическая игра Тетрис, созданная с использованием TypeScript и HTML Canvas. Проект включает управление как с клавиатуры, так и с помощью свайпов на мобильных устройствах, и настроен для легкого развертывания на платформе Vercel.
✨ **[Ссылка на демо (если развернуто)]** (Заменить на реальную ссылку после развертывания)
## Возможности
* Классический геймплей Тетриса.
* Написан на **TypeScript** для лучшей типизации и поддержки кода.
* Рендеринг игры с помощью **HTML5 Canvas**.
* **Разноцветные** фигуры тетрамино.
* Управление с **клавиатуры**:
* `←` / `→`: Движение влево/вправо
* `↓`: Ускорение падения
* `↑` / `Пробел`: Поворот фигуры
* Управление **свайпами** на сенсорных устройствах:
* Свайп влево/вправо: Движение влево/вправо
* Свайп вниз: Ускорение падения
* Свайп вверх / Тап: Поворот фигуры
* Система **подсчета очков** и **уровней** (скорость увеличивается с уровнем).
* Отображение **следующей фигуры**.
* Адаптивный дизайн для разных экранов.
* Готовность к развертыванию на **Vercel**.
## Технологии
* **TypeScript**: Основной язык программирования.
* **HTML5 Canvas**: Для отрисовки графики игры.
* **CSS3**: Для стилизации интерфейса.
* **Vercel**: Платформа для хостинга и развертывания.
* **Node.js/npm**: Для управления зависимостями и сборки.
## Начало работы
### Предварительные требования
* Установленный [Node.js](https://nodejs.org/) (включает npm).
### Установка
1. **Клонируйте репозиторий:**
```bash
git clone <URL_вашего_репозитория>
cd tetris-ts-vercel
```
2. **Установите зависимости:**
```bash
npm install
```
### Сборка
Для компиляции TypeScript в JavaScript выполните:
```bash
npx tsc
Эта команда создаст папку public/dist
с готовыми к использованию JavaScript файлами, основываясь на настройках в tsconfig.json
.
Вы можете запустить игру локально с помощью простого HTTP-сервера.
- Убедитесь, что проект собран (
npx tsc
). - Запустите сервер из корневой папки проекта:
(Если
npx serve public
serve
не установлен, запуститеnpm install -g serve
или используйте другой локальный сервер). - Откройте браузер и перейдите по адресу
http://localhost:3000
(или другому адресу, указанному сервером).
Проект настроен для легкого развертывания через Vercel:
- Запушьте код в ваш репозиторий на GitHub/GitLab/Bitbucket.
- Войдите в ваш аккаунт на Vercel.
- Нажмите "Add New..." -> "Project".
- Импортируйте ваш Git-репозиторий.
- Vercel должен автоматически определить настройки, но убедитесь, что они верны или настройте вручную:
- Framework Preset:
Other
- Build Command:
npm install && npx tsc
(Сначала устанавливает зависимости, затем компилирует TS) - Output Directory:
public
(Vercel будет раздавать файлы из этой папки) - Install Command:
npm install
- Framework Preset:
- Нажмите "Deploy".
Vercel автоматически соберет и развернет ваш проект.
tetris-ts-vercel/
├── public/ # Статические файлы и результат сборки
│ ├── index.html # Основной HTML файл
│ ├── style.css # Стили игры
│ └── dist/ # Скомпилированный JS (создается после npx tsc)
│ └── *.js
├── src/ # Исходный код TypeScript
│ ├── constants.ts # Константы (размеры, цвета, фигуры, скорость)
│ ├── game.ts # Основная логика игры (класс Game)
│ ├── input.ts # Обработка ввода (клавиатура, свайпы)
│ ├── main.ts # Точка входа, инициализация игры
│ └── types.ts # Определения типов TypeScript
├── .gitignore # Файлы, игнорируемые Git
├── package.json # Зависимости и скрипты npm
├── package-lock.json # Зафиксированные версии зависимостей
├── README.md # Этот файл
└── tsconfig.json # Конфигурация компилятора TypeScript
Этот проект распространяется под лицензией MIT. См. файл LICENSE
для подробностей (если он есть).
**Не забудьте:**
1. Заменить `<URL_вашего_репозитория>` на реальный URL вашего репозитория Git.
2. После развертывания на Vercel, добавьте актуальную ссылку на демо в начало файла README.md.
3. Если вы добавите файл `LICENSE`, убедитесь, что он упомянут. (MIT - хороший стандартный выбор для таких проектов).