Практика «Уровни» Продолжайте в том же проекте rocket. В этой задаче в классе LevelsTask нужно добавить в игру ещё несколько уровней. В результате должны быть следующие уровни: Zero. Нулевая гравитация. Heavy. Постоянная гравитация 0.9, направленная вниз. Up. Гравитация направлена вверх и значение её модуля вычисляется по формуле 300 / (d + 300.0), где d — […]
Решения задачи с Ulearn
Практика «Простые команды Brainfuck» Продолжайте работу в том же проекте brainfuck. Изучите класс Brainfuck.cs, в частности то, как он использует реализованный ранее класс VirtualMachine. В классе BrainfuckBasicCommands реализуйте метод, регистрирующий следующие простые команды в виртуальную машину: Символ Значение . Вывести байт памяти, на который указывает указатель, преобразовав в символ согласно ASCII + Увеличить байт памяти, […]
Решения задачи с Ulearn
Практика «Ghosts» Скачайте проект ghost. Неаккуратная реализация Equals и GetHashCode может приводить к тому, что добавленный в Dictionary или HashSet ключ внезапно исчезает. Чтобы не попадаться на подобные ошибки в будущем, в этом задании предлагается поизучать всевозможные подобные ошибки. В проекте вам даны несколько классов с уже реализованными GetHashCode и Equals. Вам нужно придумать, как […]
Решения задачи с Ulearn
Практика «Readonly bytes» Скачайте проект readonly-bytes. Иногда есть смысл в качестве ключей в Dictionary или HashSet использовать массивы байт. Однако по умолчанию массивы сравниваются по ссылкам, а не по содержимому, а часто нужно именно по содержимому. В таких случаях можно написать класс-обёртку над массивом, который переопределит Equals и HashCode так, чтобы сравнение происходило по содержимому. […]
Решения задачи с Ulearn
Практика «Скользящее среднее» Продолжайте работу в том же проекте Smooth В классе MovingAverageTask реализуйте функцию скользящего среднего. При усреднении с окном размера W, первые W-1 точки результата в действительности должны усредняться по окнам меньшего размера. Так, первая точка должна попасть в результат без изменения. Отладьте реализацию с помощью приложенных модульных тестов. Запустите тестирующее приложение и […]