Git Product home page Git Product logo

onlineterraingenerator's People

Contributors

bazaleevfedor avatar iamshatskiy avatar prodcent avatar yokud avatar

Watchers

 avatar

onlineterraingenerator's Issues

Дополнить описание сваггера

Цель

Документация web API с помощью OpenAPI/Swagger

Задачи

  • Ознакомится с возможностями swagger и паттернами документации
  • Для каждого класса, метода, запроса добавить описание: что делает метод, что возвращает и какие http-коды может вернуть
  • Проверить работу сгенерированной документации

Отладка методов генерации

Нужно разобраться со следующими алгоритмами:

  • Diamond-Square: качество генерации ландшафта оставляет желать лучшего

Image

  • Симплексный шум: почему-то на выходе получается обычный шум, как при отсутствии сигнала телевизора

Реализовать генератор ландшафта

Цель

Реализовать библиотеку для генерации ландшафта, реализующий алгоритмы генерации Diamond-Square, шум Перлина и симплексный шум

Задачи

  • Реализовать класс HeightMap, который отражает информацию о рельефе ландшафта
  • Реализовать интерфейс ILandGenerator, который отражает функционал алгоритмов генерации
  • Реализовать класс DiamondSquare, реализующий генерацию ландшафта на основе алгоритма Diamond-Square и интерфейс ILandGenerator (#10)
  • Реализовать класс PerlinNoise, реализующий генерацию ландшафта на основе шума Перлина и интерфейс ILandGenerator (#11)
  • Реализовать класс SimplexNoise, реализующий генерацию ландшафта на основе симплексного шума и интерфейс ILandGenerator (#12)

Верстка макетов

Цель

Сверстать страницы, необходимые для проекта.

Задачи

  • разбить проект компоненты, описанные в #2
  • сверстать компонент кнопки
  • сверстать компонент поля ввода
  • сверстать главный компонент

Добавить парсер для функции преобразования карты высот

Цель

Добавить парсер для функции преобразования карты высот

Задачи

  • Реализовать класс HeightMapParser
  • В классе HeightMapParser реализовать методы для парсинга Json-строки из запроса в структуру HeigthMapParams и метод для парсинга функции преобразовании карты высот из строки

Пример работы метода парсинга функции преобразования карты высот

  • Пример входных данных: "x * x + 2 * x"

  • Результат: x => x * x + 2 * x

Обработка ошибок в контроллерах

Если возникла ошибка при генерации ландшафта, например, задано неверное значение какого-то параметра, тогда нужно выбрасывать BadRequest(сообщение об ошибке)

Парсер данных с фронта

Нужно сделать слой логики, который отвечает за парсинг данных с фронта:

  • распарсить строку с функцией преобразования карт высот (#29)
  • на основе выбранного алгоритма вызвать при создании карты высот соответствующий конструктор класса алгоритма генерации и распарсить для него соответствующие аргументы

Написать unit-тесты

Нужны тесты для:

  • Генератора ландшафта: алгоритмы и класс карты высот
  • Парсер и слой логики для работы с картой высот

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.