Задание #6. Dungeons & Dragons
СodeReviewАвтор: https://github.com/MichaelBunker
Уровень: легко+
📝 Описание
Для игры в Dungeons & Dragons каждый игрок начинает с создания персонажа, с которым он может играть. Этот персонаж обладает, помимо прочего, шестью способностями: strength, dexterity, constitution, intelligence, wisdom и charisma. Эти шесть способностей имеют показатели, которые определяются случайным образом. Для этого нужно бросить четыре 6-гранных кубика и записать сумму трех самых больших. Вы делаете это шесть раз, по одному разу для каждой способности.
Начальные хитпоинты вашего персонажа равны 10 + модификатор constitution вашего персонажа. Вы находите модификатор (modifier) constitution персонажа, вычитая 10 из constitution персонажа, деля на 2 и округляя в меньшую сторону.
Напишите генератор случайных персонажей, который следует правилам, описанным выше.
Например, шесть бросков четырех игральных костей могут выглядеть следующим образом:
👉 5, 3, 1, 6: Вы выбрасываете 1 и получаете сумму 5 + 3 + 6 = 14, которую присваиваете strength.
👉 3, 2, 5, 3: Вы выбрасываете 2 и в сумме 3 + 5 + 3 = 11, что соответствует dexterity.
👉 1, 1, 1, 1, 1: Вы отбрасываете 1 и складываете 1 + 1 + 1 + 1 = 3, что вы присваиваете constitution.
👉 2, 1, 6, 6: Вы отбрасываете 1 и сумму 2 + 6 + 6 = 14, которую вы присваиваете intelligence.
👉 3, 5, 3, 4: Вы отбрасываете 3 и сумму 5 + 3 + 4 = 12, которую вы присваиваете wisdom.
👉 6, 6, 6, 6, 6: Вы отбрасываете 6 и суммируете 6 + 6 + 6 + 6 = 18, которые вы присваиваете charisma.
👉 Поскольку constitution равна 3, модификатор constitution равен -4, а хитпоинты равны 6.
📌 Интерфейс каласса DndCharacter
class DndCharacter
{
public function __construct()
{
throw new BadFunctionCallException("Please implement the DndCharacter class!");
}
public function generate()
{
}
public function modifier(number)
{
}
}
📤 Куда сдавать задание?
После того, как вы успешно выполнили задание, вы можете прислать его на ревью, оставив свою заявку через нашу форму.
Чтобы прислать выполненое задание, вам будет необходимо выложить его на свой GitHub, сделать inital commit с рабочим кодом и в форме оставить ссылку на ваш коммит или пулл-реквест.
Вот подробная инструкция, как сделать свой первый коммит на github.
⏳ Сроки
Задание нужно прислать до среды 17.11 23:00, чтобы оно попало на следующую ревью сессию.
❓Остались вопросы?
Смело пишите их в наш чат, и мы вам ответим!