Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dbadeev/fillit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

8 Commits

Repository files navigation

Проект FILLIT

Цель проекта - разместить заданный набор тетриминок (фигурок тетриса, состоящих из 4 блоков) в квадратной области наименьшей площади так, чтобы тетриминки не пересекались друг с другом (незаполненные «дырки» в области допускаются). При реализации использовалась интерпретация Алгоритма Х Д.Кнута с использованием техники "танцующих ссылок".

Начало Работы

Копирование

Для копирования файлов Проекта на локальный компьютер в папку <your_dir_on_local_computer> выполните:

 $ git clone git@github.com:dbadeev/fillit.git <your_dir_on_local_computer>

Описание файлов

  • fillit.en.pdf - текст задания
  • Папка srcs - C-файлы и библиотека libft
  • Папка includes - заголовочные файлы
  • Папка samples - примеры файлов с различными наборами тетриминок (как валидными, так и невалидными)
  • Makefile - файл с инструкциями для утилиты make
  • generator.py - утилита генерации файла со случайным набором заданного количества валидных тетраминок
    author - список авторов реализации Проекта

Установка

Для компиляции исходных файлов из папки <your_dir_on_local_computer> выполните команду:

 $ make

В результате будет сформирован исполнимый файл с именем fillit

Для генерации тестового набора валидных тетраминок можно воспользоваться утилитой generator.py. Для этого из папки <your_dir_on_local_computer> выполните:

 $ python3 generator.py [1 to 26] > <testing_file>

В зависимости от параметра <number_of_tetramines> в квадратных скобках, в файле <testing_file> будет сформирован набор из <number_of_tetramines> валидных тетраминок.


Запуск программы

Для запуска программы из папки <your_dir_on_local_computer> выполните команду fillit с параметром <testing_file>, в котором содержатся тетраминки, которые нужно разместить в квадрате наименьшей размерности:

 $ ./fillit <testing_file>

После отработки программы будет выведен квадрат наименьшего размера, заполненный исходными тетраминками или error в случае невалидных исходных данных.


Подробности

Подробнее о Проекте, примеры использования - по ссылке Wiki (https://github.com/dbadeev/fillit/wiki).


Авторы

loram (Дмитрий Бадеев) - алгоритм, тестирование
eflorean (Антон Федорин) - валидация, структура данных, тестирование



Результат в School 21

image

About

Цель проекта - разместить заданный набор тетриминок (фигурок тетриса, состоящих из 4 блоков) в квадратной области наименьшей площади так, чтобы тетриминки не пересекались друг с другом (незаполненные «дырки» в области допускаются). При реализации использовалась интерпретация Алгоритма Х Д.Кнута с использованием техники "танцующих ссылок".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /