Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 28 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,25 @@
- создание сложного алгоритма замешивания колоды

## Синопсис и условия алгоритма
Многие любители настольных игр слышали про Древний ужас как одно из интереснейших настольных приключений, однако есть одна сложность: подготовка к игре для неопытных игроков занимает от 40 минут до часа времени и одно из самых сложных условий это составление колоды мифов
Многие любители настольных игр слышали про Древний ужас, как одно из интереснейших настольных приключений. Однако есть одна сложность: подготовка к игре для неопытных игроков занимает от 40 минут до часа времени и одно из самых сложных условий - это составление колоды мифов.

Для сборки колоды мифов используется три разных типа карт: синие, коричневые и зеленые (тип определяется по цвету полосы в шапке карты)
Кроме того есть разная сложность карт:
1. сложные карты имеют щупальцы вокруг название как на Синей карте в пример
2. обычные карты не умеют никаких знаков как Коричневая карта в примере
3. Легкие карты имеют изображение снежинок вокруг названия как зеленая карта в примере
Кроме того есть разная сложность каждого типа карт:
1. сложные карты имеют щупальцы вокруг названия (как на Синей карте в примере)
2. обычные карты не имеют никаких знаков (как коричневая карта в примере)
3. легкие карты имеют изображение снежинок вокруг названия (как зеленая карта в примере)

Таким образом, у нас 9 вариантов карт (3 цвета и у каждого 3 сложности).

Примеры карт:

![Синяя карта](https://github.com/Luffi2539/eldritch-codejam/blob/main/assets/MythicCards/blue/blue2.png?raw=true)
![Коричневая карта](https://github.com/Luffi2539/eldritch-codejam/blob/main/assets/MythicCards/brown/brown1.png?raw=true)
![Зеленая карта](https://github.com/Luffi2539/eldritch-codejam/blob/main/assets/MythicCards/green/green1.png?raw=true)

Вам будут предоставлены заранее подготовленные ассеты карт а также файлы с данными этих карт
Вам будут предоставлены заранее подготовленные ассеты карт, а также файлы с данными этих карт.

На первом этапе игроку будет необходимо выбрать Древнего который укажет схему колоды и сколько карт какого цвета необходимо на каждом этапе игры
На первом этапе игроку будет необходимо выбрать Древнего, который укажет схему колоды и сколько карт какого цвета необходимо на каждом этапе игры

Пример карты Древнего:

Expand All @@ -45,55 +47,55 @@
# Высокий уровень сложности: из набора убираются карты со снежинками
# Очень высокий уровень сложности: из набора берутся все карты со щупальцами, если карт не хватает то добираются обычные карты

Исходя из примера: Мы выбрали очень легкий уровень сложности и нам необходимо 9 коричневых карт, но всего во всем наборе только 5 коричневых карт со снежинкой, значит мы берем эти пять карт и дальше случайным образом выбираем 4 карты обычной сложности
Исходя из примера: Мы выбрали очень легкий уровень сложности и нам необходимо 9 коричневых карт, но всего во всем наборе только 5 коричневых карт со снежинкой, значит мы берем эти пять карт и дальше случайным образом выбираем 4 карты обычной сложности.

После того как необходимое количество карт набрано мы должны создать миниколоды для каждого этапа.
Для этого отобранные карты перемешиваются отдельно (должно получиться три маленькие колоды в которых будут расположены зеленые синие и коричневые карты соответственно в случайном порядке
После того как необходимое количество карт набрано, мы должны создать миниколоды для каждого этапа.
Для этого отобранные карты перемешиваются отдельно (должно получиться три маленькие колоды, в которых будут расположены зеленые, синие и коричневые карты соответственно в случайном порядке)

Затем необходимо из этих колод выбрать необходимое количество карт для каждого этапа:
Исходя из примера:

Для Этапа 1 согласно схеме нам необходимы 1 зеленая, 2 коричневые и 1 синяя карта.
Мы случайным образом выбираем 1 карту из миниколоды отобранных зеленых карт, 2 карты из коричневой колоды и 1 из синей, после чего полученные 4 карты перемешиваем
Для Этапа 1, согласно схеме, нам необходимы 1 зеленая, 2 коричневые и 1 синяя карта.
Мы случайным образом выбираем 1 карту из миниколоды отобранных зеленых карт, 2 карты из коричневой колоды и 1 из синей, после чего полученные 4 карты перемешиваем.

Повторяем данное действие для второго и третьего этапа в результате колоды изначально перемешанные по цветам превратятся в 3 колоды каждого из этапов
Повторяем данное действие для второго и третьего этапа в результате колоды изначально перемешанные по цветам превратятся в 3 колоды каждого из этапов.

Далее положенные колоды необходимо положить друг на друга, чтобы карты из первого этапа входили в игру первыми, потом шли карты второго этапа и под конец карты третьего этапа
Далее каждую колоду необходимо положить друг на друга, чтобы карты из первого этапа входили в игру первыми, потом шли карты второго этапа и под конец карты третьего этапа.

Вырезка из правил игры о сборе колод (данная вырезка не включает в себя разделение по уровням сложности поэтому алгоритм немного отличается
Вырезка из правил игры о сборе колод (данная вырезка не включает в себя разделение по уровням сложности, поэтому алгоритм немного отличается
![image](https://user-images.githubusercontent.com/43149261/172725219-0d0c9f22-0594-4b4b-9a2b-ce4427c682ab.png)

Демо готового проекта: [Демо](https://codejam-demo.herokuapp.com/)

## Файлы для работы
В ветке main данного репозитория можно найти 2 папки assets и data которые содержать полезные файлы и изображения для выполнения задания.
Вы можете сделать форк данного репозитория чтобы потом спокойно скопировать себе файлы
В ветке main данного репозитория можно найти 2 папки assets и data, которые содержат полезные файлы и изображения для выполнения задания.
Вы можете сделать форк данного репозитория, чтобы потом спокойно скопировать себе файлы

## Требования к верстке:
Так как основная задача это алгорит а не верстка, то особых требований нет, повторять верстку из демо не обязательно вы вольны сами расположить элементы любым удобным для вас способом
Так как основная задача это алгоритм, а не верстка, то особых требований нет, повторять верстку из демо необязательно вы вольны сами расположить элементы любым удобным для вас способом

## Технические требования
1. На выбор предоставляется минимум одна карта древнего (максимум 4) +5-20 баллов(по 5 за каждого древнего)
2. На выбор предоставляется несколько уровней сложности (максимум 5) +5-25 баллов(по 5 за каждый уровень сложности
2. На выбор предоставляется несколько уровней сложности (максимум 5) +5-25 баллов(по 5 за каждый уровень сложности)
3. Карты замешиваются согласно правилам игры +40 баллов
4. Есть трекер текущего состояния колоды +20 баллов

Максимальный балл за задание: 100 (105 потенциальных из которых 5 как поправка на проверяющих)
Максимальный балл за задание: 100 (105 потенциальных, из которых 5 как поправка на проверяющих)

## Если задание очень сложное
Как вы можете заметить максимальные баллы идут за замешивание колоды и за трекер. Если задание кажется очень сложным для вас
выберите одного любого Древнего по желанию и замешивайте карты согласно обычному уровню сложности
в этом случае вам не нужно будет делать реализацию выбора древнего, выбора сложности а нужно будет сделать один вариант замешивания для статичных условий
Выбор Древнего и сложности это уже задание со звездочкой для тех кто хочет попробовать более сложный вариант задания
Как вы можете заметить максимальные баллы идут за замешивание колоды и за трекер. Если задание кажется очень сложным для вас,
выберите одного любого Древнего по желанию и замешивайте карты согласно обычному уровню сложности.
В этом случае вам не нужно будет делать реализацию выбора древнего, выбора сложности, а нужно будет сделать один вариант замешивания для статичных условий.
Выбор Древнего и сложности это уже задание со звездочкой для тех кто хочет попробовать более сложный вариант задания.

## Требования к репозиторию
- задание выполняется в личном репозитории.
- создайте свой личный приватный репозитоий с названием `codejam-eldritch`

![image](https://user-images.githubusercontent.com/43149261/172828241-bb305422-e43c-4f90-876b-571874c3a7af.png)

- в денб запуска кроссчека необходимо сделать репозиторий публичным чтобы была возможность деплоя на gh-pages и чтобы дать доступ проверяющим
Для этого необходимо перейти в настройки репозитория и в основных настройках пролистать вних до настроек видимости
- в день запуска кроссчека необходимо сделать репозиторий публичным, чтобы была возможность деплоя на gh-pages и чтобы дать доступ проверяющим.
Для этого необходимо перейти в настройки репозитория и в основных настройках пролистать вних до настроек видимости.

![image](https://user-images.githubusercontent.com/43149261/172828407-e40746e9-b32b-424d-ad7a-f14a6a72dd3b.png)

Expand Down