Giter Site home page Giter Site logo

polynomial-fighter's People

Contributors

bartekdev avatar bscigala avatar wawrzyn321 avatar

Stargazers

 avatar

Watchers

 avatar

polynomial-fighter's Issues

Text z potęgami

sf::Text nie rozumie subscriptów i superscriptów - klasa : Drawable, zdolna do rysowania tekstu z indeksami

Randy z C++11

Jak już pisałeś o porzuceniu zwykłego randa, to otwieram to "issue", tak na próbę.

Pomysł jest taki, żeby mieć jakaś klasę statyczną, która dawałaby te randomy.

Jak widać dobrze się bawię, odkrywając ficzery stronki gita.

Antywzorce pt. 56598547898647

Temat do dyskusji. Czy na pewno chcemy używać tyle singletonów, czy może podejść jakoś ładniej, czyli używać statycznych klas.

W C++ okropne jest to, że nie ma jakiegoś kontenera IoC. Rzeczy typu asset manager aż się prosi, żeby sobie siedziały w kontenerze IoC. No ale takich cudów tutaj nie ma. Wydaje mi się, że jednak w 99% przypadków klasa statyczna jest ładniejsza od singletonu. Choć okropne jest, że przez brak IoC w C++ opcje w zasadzie są dwie, albo trochę na siłę robiona statyczna klasa, albo robić własne jakieś pseudo kontenery, które sobie żyją w głównej klasie aplikacji.

To drugie jest ładniejsze, ale trochę bardziej czasochłonne. Choć nie wykluczam też, że to zaimplementuję, bo wtedy ogólnie będę mógł tu przemycić podział na warstwy aplikacji z mojego silnika, co też da nam funkcję main() jaką chcemy i na jaką zasługujemy.

Make entity smart pointer friendly

Move constructor to something like virtual onInit().

W EntityManager::addEntity() powinna byc lista argumentów, które zostaną przesłane do onInit. Jak to zrobić w c++ - nie wiem.

Ulepszenia systemów cząsteczkowych

  • lepsza implementacja oporu ośrodka
  • losowanie kolorów
  • krzywe?
  • różne funkcje określenia zanikania
  • niezależność czasów życia
  • zanikanie kolorem

Kontroler gracza + klasa pocisku

Gracz:

  • bez mediów, wystarczy prostokąt
  • przyda się GUI dla HP
  • strzelanie: foreach(pierwiastek in pierwiastki)
  • można podłączyć do input fielda

Pocisk:

  • podobnie jak pocisk przeciwnika, przygotować do klasy bazowej

Przeciwnicy + pocisk

Na razie bez grafik, cząsteczek czy dźwięków.

Przeciwnik

  • latający w kierunku wskazanego vectora2
  • gdy doleci do jakiegoś R, zatrzymuje się i szczela
  • na górze text wielomianu.tostring()
  • metody pozwalające na odbieranie HP i aktualizację GUI

Pocisk

  • przyda się klasa bazowa dla pocisków gracza i przeciwnika
  • leci
  • kolizje z graczem (sprawdzanie squaredDistance)
  • sprawdzanie czy jest w prostokątnych boundsach, żeby nie leciały w nieskończoność
  • warto podac konkretnego odbiorcę, żeby nie trafił przypadkiem nie tam gdzie trzeba

Ujednolicony styl kodu

Przepuścić cały kod, przez narzędzie w IDE do stylowania kodu. Na pewno chcemy standardowe klamry po enterze i wcięcia jako 4 spacje. Można to zrobić kiedyś przy okazji.

Obiekt przedstawiający wielomian

  • ładne formatowanie do stringa (jedziemy do 3-4 stopnia, współczynniki całkowite <-s, s>, s =5)
  • funkcja która na podstawie pierwiastka tegoż wielomianu zredukuje go do niższego stopnia (przypadek podwójnych, potrójnych też) i też ładnie sformatuje
  • coś ze skalowaniem poziomu trudności, manipulacja współczynnikami żeby było ładnie

Dodanie redukcji współczynników

Ponieważ na małych liczbach łatwiej się liczy. Można wprowadzić dodatkowy token - '/'
4x^2+8x+4 > /4 > x^2+2x+1
-3x^3+21x^2-12x-15 > /-3 > x^3-7x^2+4x+5.
Opcja jest do rozważenia.

GUI \ {gra}

Najładniej by było, gdybyśmy mieli tylko gładkie przejścia między trybami (typu menu, gra, pomoc itd).
Można wykorzystać ten koncept z planem koła / pierścienia, może się nawet obracać tak majestatycznie.

Kolorystyka:

  • tło: czarne (również wnętrza przeciwników i gracza, jeśli będą tylko konturami)
  • gracz / pierścień - pomarańczowy
  • teksty - biały || ciemnopomarańczowy, po najechaniu jaśniejszy
  • przeciwnicy - bardziejciemnopomarańczowy
  • ewentualnie można wstawić niebieski dla kontrastu

Splash screen

  • pierścień, po wciśnięciu przybliża się do pierwszej opcji w menu
  • w środku pierścienia tytuł gry
  • wciśnięcie escape wraca do splash screena, gdzie jest tytuł (+ opcje yes/no wyjścia?)

Menu:

  • opcje {
    • Graj
    • Pomoc
    • Dźwięk on/off
    • Wyniki
    • Wyjście
      }
  • escape wraca do splash screenu

Gra:

  • powiększenie pierścienia, ja na razie tam pustka

Pomoc:

  • tekst w środku ALBO przesuwane po okręgu lewo/prawo

Dźwięki:

  • po prostu on/off w środku koła

Wyniki:

  • można zaadaptować mój system do wczytywania, ale nie wrzucałbym tego w to issue

Wyjście

  • pokazanie całego pierścienia, w środku tytuł i yes/no

Stworzenie input fielda

Może być przeimportowany z Regex Fightera, będzie przyjmował albo pojedyncze pierwiastki, albo listę pierwiastków (pojedyncze oddzielone separatorem), albo jakieś METAZNAKI jak 'n' dla nieparzystych pierwiastków itd.
Oczywiście obowiązuje skalowalna wizualna reprezentacja.

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.