Skocz do zawartości

Will

Użytkownicy
  • Postów

    781
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Will

  1. Will

    Instrukcja switch z string

    Czary mary, hokus pokus: hashing.
  2. po to żeby się czegoś nauczyć? Przede wszystkim kod jest mało czytelny. Nie wstawiaj all do jednego/dwóch plików. Masz aktora C_GRACZ(to C ma jakieś zastosowanie?) to zrób mu pliki z *.h i *.cpp deklaracje w pliku nagłówkowym definicje w cpp. Docenisz to później jak będziesz miał większe projekty na głowie. Przykład : file: Gracz.h class Gracz: public XE_Actor { public: /* update.. blablabal */ void update(); /* render blablala */ void render(); private: //blabla int data; //blabla object* ptr; }; file: Gracz.cpp #include"Gracz.h" void Gracz::update() { //code } void Gracz::render() { } Nie odwołuj się do obiektów przez stringi(np: Game.Sprites.Access( "spr_gracz2" )) to jest cholernie wolne. Używaj indexów/uchwytów albo hash-niętych stringów(w unrealu bodajże nazywane jest to "name" możesz też często to znaleźć jako StringId). Nie dawaj żadnych danych jako public w klasach. Od tego typu konstrukcji masz POD'y. class C_BONUS : public XE_ACTOR2D { public: XE_VECTOR pos; int hp; ... Jak już pisałem nie korzystaj z alokacji na stercie jeśli nie musisz. Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+20 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+40 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+60 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+80 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+100 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+120 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+140 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+160 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+180 ) ) ); Jest to bardzo wolne+fragmentacja pamięci+masa pamięci się marnuje. Zamias tego w klasie WYRZUTNIA_KOLCOW: private: MALY_KOLEC m_aKolce[10]; Dodaj sobie tylko odpowiednie metody manipulujące i po problemie lub skorzystaj z alokatorów jakie oferuje silnik. Zyskujesz na prędkości/pamięci/bezpieczeństwie. void C_MALY_KOLEC::Render() { DrawSprite(); } Po co to? Jeśli korzystasz z standarowego renderowania to silnik to załapie i sam wyrenderuje co trzeba.
  3. Powinieneś dać sources bo jeśli cały twój kod wygląda jak ten fragment, który widziałem to masakra.
  4. Will

    zadanie

    Dlaczego? nie ma tego w opisie. Zadanie nie ma sensu więc nie widzę problemu z takim podejściem. Losowanie to losowanie, losowo może wylecieć ciąg 1423 ale także 3241 i tu już musi być doprecyzowane w zadaniu. Ba, ja tu widzę deadlock między pytaniem a odpowiedzią.
  5. Will

    zadanie

    To zadanie jest nielogiczne i nie ma co przypisywać mu rozwiązania. Jeśli odp jest 25% to są dwie opcje A,D i D,A a reszta musi pozostać niezaznaczona.
  6. Will

    zadanie

    Tak napisałem na strzała co leciało bo zadanie jest debilne. Gdyby all odp były różne to odp byłoby 25% a tak.... 50%!=25% && 60%!=25% && 25%!=50%
  7. Will

    C++ i trochę z funkcji

    U mnie było to samo. Głównie olimpijczycy jadący non-stop matmę czy fize ale z tworzeniem tego typu programów dawali sobie bez problemu rade. Wystarczyła jedna lekcja podstaw of podstaw języka.
  8. Will

    C++ i trochę z funkcji

    wtf? a to w necie to biedronki zrobiły? btw sugerujesz, że nauczyciel będzie szukał takiego samego kodu na necie? Jeśli infa jej nie odpowiada to znaczy, że odpowiada jej matma albo fizyka a w takim razie nie powinna z tym mieć żadnego problemu. Wpisać w google nazwę i zaraz będziesz mieć tłumaczenie razem z rozwiązaniem? Na pewno to chodzi o twoją dziewczynę a nie o Ciebie? Dziewczyna po prostu zapytała by kogoś z klasy "o co biega" i w 5min koleś, który ma jakiekolwiek doświadczenie w programowaniu+trochę rozumu wyklepał by jej rozwiązanie+wytłumaczenie. Traktuje się to raczej w formie takiej rozszerzonej lekcji matmy. Mimo, że u mnie 99% nie było zainteresowanych programowaniem bawili się algorytmy itp traktując to bardziej jako zagadki a kod tylko jako formę sprawdzenia czy mają dobre rozwiązanie/tok myślenia.
  9. Will

    C++ i trochę z funkcji

    Po co? Nie dostała tego zadania tak na odchodne tylko na pewno all było wytłumaczone. Nawet jeśli nie chce jej się tego pisać to wszystko o co prosi może znaleźć w necie razem z kodem źródłowym. 5sec i już jedna metoda jest z prostym wytłumaczeniem + pseudokod: http://pl.wikipedia.org/wiki/Metoda_bisekcji + kod c++ 10sec szukania: http://www.mif.pg.gda.pl/homepages/sylas/s...ramy/bisekcja.c
  10. Jeśli jutro znajdę trochę czasu to napisze prototyp. Tylko podrzuć kilka przykładów z danymi wejściowymi.
  11. Sprawdzenie czy okrąg jest w kwadracie to minimalny narzut. Zawsze możesz ograniczyć wielkość bloczków i obliczać część wspólną w danym bloczku a potem dodać wszystkie wyniki z każdego sektora. Napisz sobie prosty prototyp drzewo czwórkowe jest proste w implementacji więc szybko sobie sprawdzisz jak to się sprawuje.
  12. Will

    Phantasmat

    Gra ma super grafikę, klimat ale jak dla mnie głównym plusem jest fabuła. Wkurzają mnie te napisy na gorze ekranu... dlaczego all nie na dole? Dodatkowo przy selekcji przedmiotów musiałem kilka razy kliknąć na notatnik żeby załapało, przydało by się jakieś info dlaczego są te czerwone błyski czasem. Dodatkowo nie wiem czy mi się wydawało ale czy w początkowym filmiku samochód nie zatrzymuje się na barierze no i nieodparte wrażenie, że rybki jednak mają swoje własne źródło światła. Ogólnie jest super.
  13. W sumie to można by do tego podciągnąć. Dzielić całość while(in current block are n circles) ustalić jakąś min wielkość, która można traktować jako jeden piksel po całym przejściu dostajesz zbiór takich regionów. Można też zostawić większe bloczki i wyliczać przybliżoną część wspólną w danym bloczku. Na pewno lepsze rozwiązanie niż sprawdzanie każdy z każdym.
  14. Spróbowałbym drzewo czwórkowe.
  15. Will

    Nasze strony

    Ten kto pisał teksty powinien nadrobić zaległości z anglika albo pisać w naszym ojczystym języku.
  16. Sniper to była mizeria.. nic ciekawego w sumie chociaż technicznie stał na dobrym poziomie. Na pewno jest jakiś powód dlaczego tak mało firm używa cryengine.
  17. Will

    Polecenia .bat

    O google pokaż swoją potęgę : http://www.computerhope.com/batch.htm#02 Wpisz w google : bat file/bat commands/batch command albo inną podobną konfiguracje i potem zaczyna się magia!
  18. Zerknąłem i.. Tak właściwie to jaki to ma mieć tryb walki? Rozwalałem jakieś zielone "coś" właściwie bez celu. Pseudo światło trochę przeszkadza a odrzut jakbym wystrzelał rakietę w kosmos tym bardziej. Dodatkowo masa różnego infa na ekranie i nie mogłem się połapać o co biega. Tak ogólnie to bym wszystko uprościł i zrobił walkę bardziej zręcznościową a nie widowiskową coś ala soldat/et prosto ale ciekawie. Nie myśleliście o klasach typu et i podobnym typie rozgrywki? Ogólnie to klimat jest ale osoby, które przetestują grę zapewne spędzą przy niej jakieś 2min i po nich zostawią grę na zawsze albo zostaną na dłużej.
  19. Will

    c++ i 3d

    To może po prostu użyj edytora leveli do jakiegoś silnika czy nawet blendera. Może unity? Nie musisz nic programować żeby dodać tam swój model i go ładnie oświetlić więc pasuje(jeśli już chcesz jako oddzielną aplikacje to napisanie skryptu do obracania modelem to jakieś 2min). Jeśli to studia nieinformatyczne to kij ich to interesuje w czym to zrobisz.
  20. Will

    Java

    Moim zdaniem książka jest lepsza a raczej najlepiej książka + jeśli jakieś problemy to szukamy w googlach. Często artykuły pisane są przez osoby mało kompetentne, źródła niepewne a podejście autora do tematu różne od ogólnie przyjętej konwencji(np: polimorfizm jest be.. bo wolny). Jakby wszyscy co uczą się c++/c#/java przeczytali jedną porządną książkę i przerobili all ćwiczenia to nie było by tyle głupich tematów dotyczących podstawy języka. Pewnie, że jak ktoś zna c++ perfekcyjnie czy np c# to do nauki javy sieć wystarczy bo osoba, która ma już doświadczenie wybierze odpowiednie źródła. Osobiście i tak wole książki na necie zawsze coś rozprasza uwagę ;) Jak jest to dobra dokumentacja to tak(np: Unity). Kiedyś dostałem dokumentacje do jakiegoś ds'a czy podobnego cholerstwa i dokumentacja wyglądała jakby ją napisały setki osób gdzie każda miała swój punkt widzenia(inny przykład to mono, przynajmniej dla mnie paskudna dokumentacja). Co do tematu jeśli myślisz o tym poważnie polecam Java. Podstawy. Wydanie VIII prawie 1k stron ale świetna pozycja.
  21. Will

    c++ i 3d

    W kilka minut opanowałem podstawy ogre bez problemu. Wystarczy nie dodawać "setek" pluginów tylko te, które na prawdę potrzebujemy i w takich prostych aplikacjach jakich en_6280 wspomina ogre sprawdzi się doskonale(Of course irrlicht też ale pisanie, że ogre to zabawa na później to przesada).
  22. Will

    C czy C++

    Ja czasem pisze w javie i dla mnie jest ok :(
×
×
  • Dodaj nową pozycję...