Skip to content

rjohny55/Tetris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Окей, вот файл 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-сервера.

  1. Убедитесь, что проект собран (npx tsc).
  2. Запустите сервер из корневой папки проекта:
    npx serve public
    (Если serve не установлен, запустите npm install -g serve или используйте другой локальный сервер).
  3. Откройте браузер и перейдите по адресу http://localhost:3000 (или другому адресу, указанному сервером).

Развертывание на Vercel

Проект настроен для легкого развертывания через Vercel:

  1. Запушьте код в ваш репозиторий на GitHub/GitLab/Bitbucket.
  2. Войдите в ваш аккаунт на Vercel.
  3. Нажмите "Add New..." -> "Project".
  4. Импортируйте ваш Git-репозиторий.
  5. Vercel должен автоматически определить настройки, но убедитесь, что они верны или настройте вручную:
    • Framework Preset: Other
    • Build Command: npm install && npx tsc (Сначала устанавливает зависимости, затем компилирует TS)
    • Output Directory: public (Vercel будет раздавать файлы из этой папки)
    • Install Command: npm install
  6. Нажмите "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 - хороший стандартный выбор для таких проектов).